class B{
int i
=1;
int k
=5656;
public void add(){
}
}
class C extends B{
int i
=5;
int j
;
public C(){
super.i
= 7;
}
public void add(){
super.i
= 8888;
}
}
public class A {
public static void print(B b
){
System
.out
.println(b
.i
);
}
public static void main(String
[] args
) {
B b
= new C();
System
.out
.println(b
.i
);
print(b
);
C c
= new C();
System
.out
.println(c
.i
);
print(c
);
}
}
一般而言,Father f = new Child() 创建对象时,会先创建父类对象在创建子类对象,空间明显比只创建父类引用的f要大,这个时候以f为准,多余的信息存在,但是f并不能指向 这种形式记住一句话:属性静态绑定,方法动态绑定。
转载请注明原文地址: https://www.6miu.com/read-1700194.html