instanceof 关键词
instanceof (类型转换),引用类型,判断一个对象是什么类型
package oop.demo04;
public class Application {
public static void main(String[] args) {
//object > person > student
//object > person > teacher
//object > string
Object object = new Student();
System.out.println(object instanceof Student ); //true
System.out.println(object instanceof Person ); //true
System.out.println(object instanceof Object ); //true
System.out.println(object instanceof String); //false
System.out.println(object instanceof Teacher); //false
Person person = new Person();
System.out.println(person instanceof Student); //false
System.out.println(person instanceof Object); //true
}
}
//instanceof 相当于属于,子类 instanceof 父类
类型转换
package oop.demo04;
public class Application {
public static void main(String[] args) {
//类型之间的转换 父与子
//Student student = new Student();
Person s1 = new Student();
// person (高) ————> student (低) 可以直接转换
//s1现在为Person 类型,将其转换为Student类型,就可以执行Student的方法了
((Student) s1).go(); //go为Student类继承Person后重写的方法
}
}
- 父类引用指向子类的对象
- 把子类转换为父类,向上转型,不需要强制转换
- 把父类转换为子类,向下转型,需要强制转换
- 方便方法的调用,可以减少重复的的代码,简介