Java程序中是否存在两种主要方法?
Java程序中可以存在两种主要方法吗?
只有通过他们的论点的差异,如:
public static void main(String[] args)
秒可以是
public static void main(StringSecond[] args)
如果可能,将使用哪种方法作为入口点?如何识别?
Java程序中可以存在两种主要方法吗?
只有通过他们的论点的差异,如:
public static void main(String[] args)
秒可以是
public static void main(StringSecond[] args)
如果可能,将使用哪种方法作为入口点?如何识别?
在这里,您可以看到单个文件中有 2 个具有该名称(特别是没有使用 file 的名称作为 2 个类名称中的任何一个),并且 2 个类具有默认访问说明符。public static void main (String args[])
Test.java
class Sum {
int add(int a, int b) {
return (a+b);
}
public static void main (String args[]) {
System.out.println(" using Sum class");
Sum a = new Sum();
System.out.println("Sum is :" + a.add(5, 10));
}
public static void main (int i) {
System.out.println(" Using Sum class main function with integer argument");
Sum a = new Sum();
System.out.println("Sum is :" + a.add(20, 10));
}
}
class DefClass {
public static void main (String args[]) {
System.out.println(" using DefClass");
Sum a = new Sum();
System.out.println("Sum is :" + a.add(5, 10));
Sum.main(null);
Sum.main(1);
}
}
当我们编译代码Test时.java它将生成2个文件(viz和),如果我们运行Test.java则无法运行它,因为它找不到任何名为Test的主类。相反,如果我们这样做或两者都将使用不同的.要使用 Sum 类的主方法,我们可以使用类名 或 ..class
Sum.class
DefClass.class
java Sum
java DefClass
main()
Sum.main(null)
Sum.main(1)//Passing integer value in the DefClass main()
在类作用域中,每个类只能有一个,因为类的静态方法属于类而不是其对象,并且使用其类名调用。即使我们创建多个对象并使用它们调用相同的静态方法,这些调用将引用的静态方法的实例也将是相同的。public static void main (String args[])
我们还可以通过在main中传递不同的参数集来重载main方法。上面的代码中提供了类似的示例,但默认情况下,控制流将从我们使用 调用的类文件开始。要使用其他参数集调用 main 方法,我们必须从其他类显式调用它。public static void main (String args[])
java classname
只要方法参数(数字(或)类型)不同,就可以。它称为重载。
重载方法通过传递到方法中的参数的数量和类型进行区分
public static void main(String[] args)
只有以单个(或)作为参数的main方法才会被视为程序的入口点。String[]
String...