package com.wuming.oop4.demo08;public class Application {public static void main(String[] args) {//类型之间转换:父 子//高 低Person person1 = new Student();//student将这个对象转换为student类型,我们就可以使用student类型的方法了!Student student = (Student) person1;student.go();//go((Student) person1).go();//go//从右往左看Person person=student;//子类转父类Student student1= (Student) person1;// 父转子,强制} } /* 1.父类引用指向子类对象 2.子类转换为父类,向上转型 3.父转子,强制 4.方便方法的调用,减少重复的代码 */
package com.wuming.oop4.demo08;public class Person {}
package com.wuming.oop4.demo08;public class Student extends Person {public void go() {System.out.println("go");}//Application.java里面的拿过来的 // //Object>String // //Object>Person>Teacher // //Object>Person>Student 三行中同级间(列对应)instance of指向会报错 // Object object = new Student(); // //System.out.println(x instanceof y);//能不能编译通过,就看x和y有没有父子关系 // 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 Teacher);//false // System.out.println(object instanceof String);//false // System.out.println("==================="); // Person person = new Student(); // System.out.println(person instanceof Student);//true // System.out.println(person instanceof Person);//true // System.out.println(person instanceof Object);//true // // System.out.println(person instanceof Teacher); // // System.out.println(person instanceof String);编译报错 // System.out.println("==================="); // Student student = new Student(); // System.out.println(student instanceof Student);//true // System.out.println(student instanceof Person);//true // System.out.println(student instanceof Object);//true // // System.out.println(student instanceof Teacher); // // System.out.println(student instanceof String); }
go
go