1 /*
2 instancof 判断两个类之间是否有继承关系
3 Object->String
4 Object->Person->Teacher
5 Object->Person->Student
6 */
7 Object s1 = new Student();
8 System.out.println(s1 instanceof Object);//True
9 System.out.println(s1 instanceof Person);//True
10 System.out.println(s1 instanceof Student);//True
11 System.out.println(s1 instanceof Teacher);//False
12 System.out.println(s1 instanceof String);//False
13 Person s2 = new Student();
14 System.out.println(s2 instanceof Object);//True
15 System.out.println(s2 instanceof Person);//True
16 System.out.println(s2 instanceof Student);//True
17 System.out.println(s2 instanceof Teacher);//False
18 //System.out.println(s2 instanceof String);//编译错误
19 Student s3 = new Student();
20 System.out.println(s3 instanceof Object);//True
21 System.out.println(s3 instanceof Person);//True
22 System.out.println(s3 instanceof Student);//True
23 //System.out.println(s2 instanceof Teacher);//编译错误
24 //System.out.println(s2 instanceof String);//编译错误
25
26 public static void main(String[] args){
27 Student s = new Student();
28 s.student();
29 Person p = s;//子转父
30
31 Person obj = new Student();
32 ((Student)obj).student();//父转子
33 }