Java学习笔记 - instanceof关键字

本文探讨了Java编程中的instanceof关键字,它用于在运行时检查对象是否属于特定类或其子类。通过返回boolean值,该关键字帮助开发者确定对象是否符合预期类型。示例代码展示了instanceof的用法,同时提醒注意在使用子类泛型时的限制。
摘要由CSDN通过智能技术生成

instanceof关键字用来在运行时指出对象是否是特定类的一个实例。
判断结果通过返回一个boolean类型值来指示,true则左侧对象为右侧类的实例。

举个栗子:

//接口
public interface CircularOrbit<L,E> {
	...
}
//由接口衍生出的抽象类
public abstract class ConcreteCircularOrbit<L, E> implements CircularOrbit<L,E> {
	...
}
//由抽象类具体化得到的子类
public class OrbitofStellarSystem<L,E> extends ConcreteCircularOrbit<L,E>{
	...
}
public class OrbitofAtom <L,E> extends ConcreteCircularOrbit<L,E> {
	...
}
public class OrbitofSocialNetwork <L,E> extends ConcreteCircularOrbit<L,E> {
	...
}
public void getDifference (CircularOrbit c1, CircularOrbit c2) {
		//若c1,c2均为OrbitofStellarSystem的实例则执行此方法
		if (c1 instanceof OrbitofStellarSystem && c2 instanceof OrbitofStellarSystem) {
			System.out.println("两行星轨道的差异为:");
		}
		//若c1,c2均为OrbitofAtom的实例则执行此方法
		else if (c1 instanceof OrbitofAtom && c2 instanceof OrbitofAtom) {
			System.out.println("两原子轨道间的差异为:");
		}
		//若c1,c2均为OrbitofSocialNetwork的实例则执行此方法
		else if (c1 instanceof OrbitofSocialNetwork && c2 instanceof OrbitofSocialNetwork) {
			System.out.println("两社交网络间的差异为:");
		}
}

需要注意的是上述代码中不能将instanceof后的子类泛型化

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值