package oop.duotai;
public class Application {
public static void main(String[] args) {
//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);//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);//False
//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);//编译错误
}
}
true
true
true
false
false
===================
true
true
true
false
====================
true
true
true
进程已结束,退出代码为 0
==========================================================================
package oop.duotai;
public class Person {
public void run(){
System.out.println("run");
}
}
---------------------------------------------------------
package oop.duotai;
public class Student extends Person{
public void go(){
System.out.println("go");
}
}
--------------------------------------------------------
测:
package oop.duotai;
import oop.chouxianglei.Action;
public class Application1 {
public static void main(String[] args) {
//类型之间的转换:父 子
//高 低
Person obj = new Student();
//student将这个对象转换为Student类型,我们就可以使用Student类型的方法了
Student student= (Student) obj;
student.go(); //((Student)obj).go()
//子类转换为父类,可能丢失自己的本身的一些方法!
Student student1 =new Student();
student.go();
Person person=student;
}
}
go
go
进程已结束,退出代码为 0
1.父类的引用指向子类的对象
2.子转夫 向下转换
3.夫转子 向下转换 强制转换
4.方便方法的调用,减少重复的代码!简介
抽象: 封装 继承 多态! 抽象类 接口