Java中instanceof关键字的理解

本文详细介绍了Java中的instanceof运算符的功能及其使用方法。instanceof用于判断一个对象是否为某个类或其子类的实例,并在运行时返回一个布尔值。文中还通过具体的示例代码展示了如何在实际开发中运用这一特性。

概念:java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。

公式: result = object instanceof class

参数分析:

result :布尔类型

object :任意的一个实例或者是表达式

class: 任意一个已定义的类

结果分析:

如果object是class的一个实例返回true,如果不是或者object 为 null 则返回false

instaanceof在运行时和编译时是有区别的:

在编译状态中,class可以是object对象的父类,自身类,子类。在这三种情况下Java编译时不会报错。

在运行转态中,class可以是object对象的父类,自身类,不能是子类。在前两种情况下result的结果为true,最后一种为false。但是class为子类时编译不会报错。运行结果为false。

public class Base {
 String name = "base";
 public void baseA() {
  System.out.println("name is" + name);
 }
}

public class Child extends Base {
 String name ="child";
 String age ="18";
}

public class Test {

 public static void main(String[] args) {
  Base base = new Child();
  System.out.print(base instanceof Base);
  System.out.print(base instanceof Child);
  System.out.print(base instanceof Object);
  System.out.print(base instanceof System); --编译错误
  
 }

}

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/chengxuzhijia/p/8492611.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值