Java--instanceof和类型转换
instanceof
判断一个对象是什么类型,通过instanceof关键字来判断。
instanceof关键字可以判断两个类之间是否存在联系(父子关系)。
类型转换
类型之间的转换:基本类型转换 高---------→低 父---------→子
现有两个类,一个为Person类,一个为Student类。
Student类继承Person类
子:Student 父:Person
向上转型
Person s1 = new Student();//Student类转为Person类型
创建了一个Person类型的引用,指向了Student的实例。
类似于将Student实例赋给了Person类型的引用。
将这个对象转换为了Student类型,现在就可以使用Student类型的方法了!
子转父 低转高(向上转型)
子类转换为父类,可能会丢失自己的本来的一些方法。
向下转型
Person p1 = new Person();
Student s1 = (Student)p1;
父转子 高转低(向下转型)需要强制转换
类型转换总结
父类引用指向子类的对象
把子类转换为父类,向上转型,不需要强制转换
把父类转换为子类,向下转型,需要强制转换,子类可能丢失自己的本来的一些方法
方便方法的调用,减少重复的代码!简洁
抽象:封装,继承,多态