JAVA 常用方法实例 instanceof 和 类型转换

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
上一篇:Filter


下一篇:Grafana集成到自己的系统