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