1父类可以等于一个子类的实例 ,子类不可以直接等于一个父类的实例(猜测是因为方法和变量的缺失),必须使用强制转换否则抛出ClassCastException(转换异常)
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
A a = b;
a.Pri();
System.out.print(a.c);
}
static class A{
char c = 'a';
public void Pri(){
System.out.print("this is a\n");
}
}
static class B extends A{
char c = 'b';
public void Pri(){
System.out.print("this is b\n");
}
}
结果:this is b
a
结论子类被转为父类后常量变为父类的常量,方法仍然是子类的方法