instanceof
判断对象的类型是否有继承关系
主程序App.java
public class App {
public static void main(String[] args) {
//Object > String
//Object > Person > Teacher
//Object > Person > Student
Object object = new Student();
System.out.println(object instanceof Object); //true
System.out.println(object instanceof Person); //true
System.out.println(object instanceof Student); //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 Object); //true
System.out.println(person instanceof Person); //true
System.out.println(person instanceof Student); //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 Object); //true
System.out.println(student instanceof Person); //true
System.out.println(student instanceof Student); //true
//System.out.println(student instanceof Teacher); //编译报错
//System.out.println(person instanceof String); //编译报错
}
}
Object类是所有类的父类
Person.java
类默认继承Object
类
public class Person {
}
子类Teacher.java
继承Person
类
public class Teacher extends Person{
}
子类Student.java
继承Person
类
public class Student extends Person{
}
执行结果
true
true
true
false
false
-------
true
true
true
false
-------
true
true
true