java基本问题

pra*_*eep 6 java

public static void main( String arg[] )
Run Code Online (Sandbox Code Playgroud)

在上面的语句中,我可以使用int数组代替String数组吗?如果我不在括号中添加任何内容,即如果我使用空括号,会发生什么?

R K*_*R K 5

使用您提到的更改编译代码时,它将成功编译.当您尝试运行时,JVM将使用String数组作为参数检查main方法.由于没有使用String数组作为参数的main方法,因此您的代码将无法成功执行并抛出NoSuchMethodError.


Chr*_*son 2

我不确定你的意思,Int array但不,你不能。方法签名需要完全匹配public static void main(String[] args)。您唯一可以更改的是参数的名称。方法的名称、参数类型、可见性(公共与私有等)是运行时用来查找方法本身的。如果它不符合该签名,则它不是入口点方法,因此在应用程序启动时不会被调用。

但是,应该注意的是,您所建议的内容将顺利编译。在您尝试运行该应用程序之前,不会出现问题。