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