instanceof
Object object = new Student3();
Person2 person = new Student3();
System.out.println(object instanceof Student3);true
System.out.println(object instanceof Person2);true
System.out.println(object instanceof Object);true
System.out.println(object instanceof Teacher);flase
System.out.println(object instanceof String);flase
System.out.println("-===============");
System.out.println(person instanceof Student3);true
System.out.println(person instanceof Person2);true
System.out.println(person instanceof Object);true
System.out.println("-===============");
Student3 student3 = new Student3();
System.out.println(student3 instanceof Student3);true
System.out.println(student3 instanceof Person2);true
System.out.println(student3 instanceof Object);true
小结
//Object>Person>Student
//Object>Person>Teacher
//Object>String
//instanceof 判断是否存在有父子关系
//System.out.println(x instanceof y);能不能编译通过,如果存在父子关系编译就通过,如果不存在父子关系编译就不通过
//左边是对象,右边是类,当对象是右边类或者子类所创建对象时,返回TRUE,否则FALSE
类型转换
Person2 obj = new Student3();
Student3 obj1 = (Student3) obj;
obj1.go();
Student3 student3 = new Student3();
Person2 person2=student3;
小结
父类的引用指向子类的对象
把子类转换为父类,向上转型 会丢失子类自己固有的方法
把父类转换为子类,向下转型 需要强制转换,可以使用子类的方法
方便方法的调用,减少重复的代码,简介