介绍
关于,属性没有重写只能是编译类型的
代码
package b;public class main_ {public static void main(String[] args) {//向上转型,父类的引用转向了子类的fathetr fat=new son();System.out.println("编译类型是father时的sum属性是"+fat.sum);son so=new son();System.out.println("编译类型是son时的sum属性是"+so.sum);}}class fathetr{int sum=10;
}
class son extends fathetr{int sum=5;
}
现在我们学习一下instance关键字,可以判断是不是子类
package b;public class main_ {public static void main(String[] args) {//向上转型,父类的引用转向了子类的fathetr fat=new son();System.out.println("编译类型是father时的sum属性是"+fat.sum);son so=new son();System.out.println("编译类型是son时的sum属性是"+so.sum);System.out.println(so instanceof fathetr);}}class fathetr{int sum=10;
}
class son extends fathetr{int sum=5;
}
结果
编译类型是father时的sum属性是10
编译类型是son时的sum属性是5
true