介绍
关于,属性没有重写只能是编译类型的
代码
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