public class Test1 {
public static void main(String[] args) {
A1 a = new A2(1,33);
//a.print();
System.out.println(a.getId());
System.out.println(a.getAge());
/*A2 a1 = (A2)a;
a1.print1();
System.out.println(a1.getId());
System.out.println(a1.getAge());*/
}
}class A1 {
private int id=1, age=1; A1(){} A1(int id, int age) {
this.id = id;
this.age = age;
//System.out.println("1");
} public int getId() {
//System.out.println("z");
return id;
} public int getAge() {
//System.out.println("z");
return age;
} public void print() {
System.out.println(getId() + "+" + getAge());
}
}class A2 extends A1 {
private int id=2, age=2; A2(int id, int age) {
super(id,age); } public int getId() {
//System.out.print("y1");
return id;
} public int getAge() {
//System.out.print("y2");
return age;
} public void print() {
System.out.println(getId() + "-" + getAge());
}
}急!!!!它在内存中的执行是什么样的
public static void main(String[] args) {
A1 a = new A2(1,33);
//a.print();
System.out.println(a.getId());
System.out.println(a.getAge());
/*A2 a1 = (A2)a;
a1.print1();
System.out.println(a1.getId());
System.out.println(a1.getAge());*/
}
}class A1 {
private int id=1, age=1; A1(){} A1(int id, int age) {
this.id = id;
this.age = age;
//System.out.println("1");
} public int getId() {
//System.out.println("z");
return id;
} public int getAge() {
//System.out.println("z");
return age;
} public void print() {
System.out.println(getId() + "+" + getAge());
}
}class A2 extends A1 {
private int id=2, age=2; A2(int id, int age) {
super(id,age); } public int getId() {
//System.out.print("y1");
return id;
} public int getAge() {
//System.out.print("y2");
return age;
} public void print() {
System.out.println(getId() + "-" + getAge());
}
}急!!!!它在内存中的执行是什么样的
2.调用A2的实例中的get()方法得到初始化值为2的Id和Age,并打印输出。
调用的是A2的getId()方法,因为A2类重写了A1的getId()方法。
System.out.println(a.getAge());
也是同理,