父类的构造方法执行完成后才会开始执行子类的构造方法.class Human { private int n = 10; public Human() { System.out.println("n = " + n); age(); // 调用子类的方法,这个像是 多态 的概念 System.out.println("调用了"); } public void age() { System.out.println("父类"); } }public class Test1 extends Human { private int n = 20; public void age() { System.out.println("年龄是:" + n); // 年龄是:0 System.out.println(this.getClass().getSuperclass()); }
public int getN(){ return n; } public static void main(String[] args) { Test1 test = new Test1();// 创建子类实例 System.out.println(test.getN()); //这样输出就是20了,因为此时已经执行完了Test1的构造方法了,而n也已经赋值成20了 } }
public static void main(String[] args) { new Test1().age();// 创建子类实例 /** * new Human();//创建父类实例 */ }输出的是:n = 10 年龄是:0 Human 调用了 年龄是:20 Human 搞定了 呼呼 不知道楼主理解了吗
private int n = 10; public Human() {
System.out.println("n = " + n);
age(); // 调用子类的方法,这个像是 多态 的概念
System.out.println("调用了");
} public void age() {
System.out.println("父类");
}
}public class Test1 extends Human {
private int n = 20;
public void age() {
System.out.println("年龄是:" + n); // 年龄是:0
System.out.println(this.getClass().getSuperclass());
}
public int getN(){
return n;
} public static void main(String[] args) {
Test1 test = new Test1();// 创建子类实例
System.out.println(test.getN()); //这样输出就是20了,因为此时已经执行完了Test1的构造方法了,而n也已经赋值成20了
}
}
new Test1().age();// 创建子类实例
/**
* new Human();//创建父类实例
*/
}输出的是:n = 10
年龄是:0
Human
调用了
年龄是:20
Human
搞定了 呼呼 不知道楼主理解了吗