class People()
class Student extends People()
一、向上转型
People a = new Student() ; //有一个人叫a,他是一名学生
将Student类的对象直接付给People类型的变量,因为Student类是People类的子类。
具体类到抽象类,安全。
父类不能调用子类的属性和方法,但可以访问原本属于父类的属性和方法。
二、向下转型
一般是不安全的,因为人是抽象的,而学生是具体的。学生一定是人,但不能说人是学生。
如果想要说明某人是一个学生,要用到类型转换。
只有当这个对象是子类对象向上转型得到的才能再向下转型
People peo = new Student();
Student stu = (Student) peo;
三、instanceof
向下转型时,需要判断父类对象是否是子类对象的实例。例如:
Student stu = new Student();
if(stu instanceof People){...} //判断Student是否是People的子类