繁体   English   中英

公共void main(String [] args)是无效的Java main方法签名吗?

[英]Is public void main(String[] args) Invalid java main method signature ?

我通过记事本编译了以下代码

class MainClass{
  public void main(String args[]){
    System.out.println("Hello!");

  }
}

我没有使用static关键字,而是执行了上面的代码,但是当我这样做时

javap MainClass

在命令提示符下,我得到以下输出,

class MainClass {
MainClass();
  public static void main(java.lang.String[]);
}

关键字本身已添加,因此也是如此

public void main(String args[])

还算有效签名?

JLS Sec 12.1.4中所述

方法main必须声明为publicstaticvoid 它必须指定一个声明的类型为String数组的形式参数(第8.4.1节)。


我认为您可能一直在查看该课程的过时版本; 当我尝试反编译您的代码时,尚未添加static

Compiled from "MainClass.java"
class MainClass {
  MainClass();
  public void main(java.lang.String[]);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM