//Test2.java
class Test1{
private String s="Test1";
public void append (String a) {s+=a;}
public void me() {append("me()");}
public String toString() {return s;}
public static void main(String[] arg) { //Test1 main()
Test1 t1=new Test1();
t1.me();
System.out.println(t1);
}
}public class Test2 extends Test1{
public void you() {append("you()");}
public static void main(String[] args) { //Test2 main()
Test2 t2=new Test2();
t2.me();
t2.you();
System.out.println(t2);
Test1.main(args);
//Test1.main(arg); error
}
}
//output :Test1me()you()
Test1me()提问:1.Test2 main()中Test1.main(args);语句,用类名直接调用main(),括号中的参数应该是什么
2.参数为什么只能是args
3.参数换成arg,就出错,由此看Test1.main(args);是调用的子类中main(),为什么由输出结果看是调用的父类的main()
class Test1{
private String s="Test1";
public void append (String a) {s+=a;}
public void me() {append("me()");}
public String toString() {return s;}
public static void main(String[] arg) { //Test1 main()
Test1 t1=new Test1();
t1.me();
System.out.println(t1);
}
}public class Test2 extends Test1{
public void you() {append("you()");}
public static void main(String[] args) { //Test2 main()
Test2 t2=new Test2();
t2.me();
t2.you();
System.out.println(t2);
Test1.main(args);
//Test1.main(arg); error
}
}
//output :Test1me()you()
Test1me()提问:1.Test2 main()中Test1.main(args);语句,用类名直接调用main(),括号中的参数应该是什么
2.参数为什么只能是args
3.参数换成arg,就出错,由此看Test1.main(args);是调用的子类中main(),为什么由输出结果看是调用的父类的main()
至于参数问题,你的函数的参数名是什么,函数体里当然就得用什么,晕。你main里面放arg不就可以用arg了
你把两个类的位置换下,就可以都用到,而且可以看出static方法不会被覆盖,但是append方法就被覆盖了。