学习笔记---instanceof

instanceof

1. 作用:

  • 判断某个对象与某个类型是否能够强制转换

2. 注意点:

  • 通过编译需要这个对象的类型与比较类型有父子类关系
  • true或false主要看对象的右边 即Father f1 = new Son(); 中主要看Son与其他类型的关系

代码示例:

package oop.Demo05;

public class Person {
    
    
    public void run(){
    
    
        System.out.println("run");
    }
}
package oop.Demo05;

public class Teacher extends Person{
    
    
}
package oop.Demo05;

public class Student extends Person{
    
    

}
package oop;

import oop.Demo05.Person;
import oop.Demo05.Student;
import oop.Demo05.Teacher;

public class Application {
    
    
    public static void main(String[] args) {
    
    
        //Object>Person>Student
        //Object>Person>Teacher

        Object object = new Student();
        Student student = new Student();
        Person person = new Student();
        Person person1 = new Person();

        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("======================");
        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);   报错

        System.out.println("======================");
        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("======================");
        System.out.println(person1 instanceof Student);  //false
        System.out.println(person1 instanceof Person);   //true
        System.out.println(person1 instanceof Object);   //true
        System.out.println(person1 instanceof Teacher);  //false
        //System.out.println(person1 instanceof String);   报错

    }
}

猜你喜欢

转载自blog.csdn.net/yang862819503/article/details/113733081