class Person{
public static void main(String[] args){
Person p;
Student s;
p = new Person(); //(1)
s = new Student(); //(2)
p = s; //(3)这行没有问题
s = p; //(4)这行就会出现问题
}
}
class Student extends Person{}
Person是父类
Student是子类
(4) 号位置就会出现编译错误 而(3)号位置不会出现编译错误
通过这里可以明显的看出子类可以当成父类来用.
父类不可以当成子类来用.
原因很简单子类继承了父类的非私有的方法和变量.所以可以当成父类来用.
父类并没有继承子类,所有不能当成子类来用.