Demo07
package OOP.Demo07;
public class Student extends Person{
public void go(){
System.out.println("go");
}
}
/*
//类型之间的转化: 父 子
//高 低
Person obj = new Student();
//student 将这个对象转换为Student 类型,我们就可以使用Student类型的方法了!
Student student = (Student) obj;
student.go();
//子类转换为人类,可能丢失自己本来的一些方法!
Student student = new Student();
student.go();
Person person=student;
1.父类引用指向子类的对象
2.把子类转换为父类,向上转型
3.把父类转换为子类,向下转型:强制转换
4.方便方法的调用,减少重复代码! 简介
抽象: 封装,继承,多态! 抽象类,接口
//Object>String
//Object>Person>Teacher
//Object>Person>Student
Object object = new Student();
//System.out.println(X instanceof 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); //flase
System.out.println(object instanceof String); //flase
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); //flase
//System.out.println(person instanceof String); //flase 编译报错!
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); //flase
// System.out.println(student instanceof String); //flase 编译报错!
System.out.println("===============================");
*/