我在一份认证考试中看到了这段代码:
public class SimpleClass
{
int num;
final static void main(final String args[])
{
String s1="new";
String s2="String";
String s3="Creation";
System.out.println(s1+s2+s3);
}
}
我知道final方法是无法被覆盖的。我也知道如果修改了main
方法的常规签名,JVM会将其视为普通方法,而不是main()
。
然而,给我的选项是:
1> Code won't compile
2> Code will throw an exception
3> will print newStringCreation.
无法在eclipse IDE上运行该程序。有人能解释一下应该选择哪个答案以及为什么吗?
好的,让我这样提问-当我执行我的程序时,会发生什么? 以上3个选项中应该选择哪一个?
final
不应该有影响。但是main
方法也不是公共的,这让我感到担忧。 - Thilojava SimpleClass
来启动程序的话,“run”的定义是什么?根据你之前提到的,由于确实没有main()
方法可以运行,程序会抛出异常。此外,你无法以任何方式覆盖静态方法,因此将其声明为final
是多余的。 - fge