java中main方法的重载,覆盖,继承,调用问题
重载
public class Main1 {
private static Integer flag = 0;
public static void main(String[] args) {
main("");
}
public static void main(String args) {
System.out.println("hello main1 重载");
}
}
运行结果
hello main1 重载
调用
private static Integer flag = 0;
public static void main(String[] args) {
if (flag >= 3) {
return;
}
flag++;
System.out.println("hello main1 调用自身" + flag);
main(args);
}
运行结果
hello main1 调用自身1
hello main1 调用自身2
hello main1 调用自身3
覆盖,继承
public class Main1 {
private static Integer flag = 0;
public static void main(String[] args) {
if (flag >= 3) {
return;
}
flag++;
System.out.println("hello main1 调用自身" + flag);
main(args);
}
}
public class Main2 extends Main1 {
public static void main(String[] args) {
System.out.println("hello main2");
Main1.main(args);
}
}
运行Main2的main方法
运行结果
hello main2
hello main1 调用自身1
hello main1 调用自身2
hello main1 调用自身3