package polymorphic_.SXOverride;
public class PolyDetial2 {
public static void main(String[] args) {
Base b1 = new Sub();//向上转型(父类引用指向子类对象)
System.out.println(b1.n1);//b1的编译类型是Base,所以输出Base里面的n1
}
}
class Base{
int n1 = 10;
}
class Sub extends Base{
int n1 = 20;
}
输出属性的时候,看编译类型,编译类型是哪个类就输出哪个类的属性(不能用方法的访问规则来判断属性的问题)