我们可以在Java中重载main()方法吗?
问题是“我们可以重载main()
Java中的方法吗?”
是的,我们可以重载
main()
Java中的方法。JVM通过其签名调用任何方法,换句话说,JVM查找签名,然后调用该方法。
如果我们在程序中重载一个
main()
方法,则程序中将有多个main()方法。那么JVM调用哪种方法?如果我们有多个main()方法,则无需混淆,默认情况下,JVM仅使用(string []参数)调用一个main()方法。
示例
class MainMethodOverloading {public static void main(String[] args) {
System.out.println("We are in String[] args");
}
public static void main(int args) {
System.out.println("We are in int args");
}
public static void main(String args) {
System.out.println("We are in String args");
}
}
输出结果
E:\Programs>javac MainMethodOverloading.javaE:\Programs>java MainMethodOverloading
We are in String[] args
默认情况下,JVM仅调用String参数的一个main()方法,但是如果我们要调用另一个main()方法或任何其他重载main()
方法,则我们只能做一件事,即可以显式调用重载main()
方法。
我们可以使用String参数在原始main()方法内调用其他main()方法。
示例
//重载// main()方法
import java.io.*;
class MainMethodOverloading {
//原始main()方法
public static void main(String[] args) {
System.out.println("Hi, We are in main (String [] args) ");
MainMethodOverloading.main("Call main() with one argument");
}
//这些是重载的main()方法
public static void main(String args1) {
System.out.println(args1);
MainMethodOverloading.main("call main() with", "two argument");
}
public static void main(String args1, String args2) {
System.out.println(args1 + args2);
MainMethodOverloading.main("call main() with", "three argument", "from two argument main()");
}
public static void main(String args1, String args2, String args3) {
System.out.println(args1 + args2 + args3);
}
}
输出结果
E:\Programs>javac MainMethodOverloading.javaE:\Programs>java MainMethodOverloading
Hi, We are in main (String [] args)
Call main() with one argument
call main() withtwo argument
call main() withthree argumentfrom two argument main()
以上是 我们可以在Java中重载main()方法吗? 的全部内容, 来源链接: utcz.com/z/340761.html