【笔记】instanceof类

instanceof 是 Java 语言中的一个保留关键字,它是一个二元运算符,用于测试左边的对象是否是其右边类或接口的实例。以下是关于 instanceof 的详细解释:

定义和用途
instanceof 用于判断一个对象是否是一个类的实例,或者是否实现了某个接口。
它返回一个布尔值(true 或 false)。
当左边的对象是右边类或其子类的实例时,返回 true;否则返回 false。
使用方法
基本语法为:

java
result = object instanceof Class
result:一个布尔变量,用于存储判断结果。
object:一个对象实例。
Class:一个类名或接口名。
注意事项
对象与类的关系:
类的实例包括该类本身的实例,以及所有直接或间接子类的实例。
instanceof 左边显式声明的类型与右边操作元必须是同种类或存在继承关系,即需要位于同一个继承树。
编译与运行的区别:
在编译状态中,Class 可以是 object 对象的父类、自身类或子类,这三种情况下 Java 编译时不会报错。
在运行状态中,Class 可以是 object 对象的父类或自身类,但不能是子类。
接口与实现类的关系:
如果 Class 是一个接口,并且 object 是该接口的实现类的实例,那么 instanceof 也会返回 true。
示例
java

public interface Person {  
    void eat();  
}  
  
public class People implements Person {  
    @Override  
    public void eat() {  
        System.out.println("======");  
    }  
}  
  
public class Xiaoming extends People {  
    @Override  
    public void eat() {  
        System.out.println("++++++++");  
    }  
}  
  
public static void main(String[] args) {  
    People p = new People();  
    Xiaoming x = new Xiaoming();  
    System.out.println(p instanceof Person); // true  
    System.out.println(p instanceof Xiaoming); // false  
    System.out.println(x instanceof Person); // true  
    System.out.println(x instanceof People); // true  
}

总结
instanceof 是 Java 中用于判断对象实例与类或接口之间关系的关键字,它返回布尔值以指示对象是否是指定类或接口(或其子类/实现类)的实例。在使用时,需要注意对象与类之间的继承关系,以及编译状态与运行状态的区别。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值