学习笔记---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);   报错

    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值