java基础:instanceof关键字

instanceof关键字

可以用instanceof关键字判断一个类是否实现了某个接口,也可以用它来判断一个实例化对象是否属于一个类。

语句格式:
对象 instanceof 类 (或接口)

代码示例:

//instanceof关键字的用法
interface Human{}
class Student implements Human{}
class Postgraduate extends Student{}
class Animal{}

public class InstanceofDemo {
	public static void main(String[] args) {
			   System.out.println("Postgraduate 的对象:");
			   fun(new Postgraduate());

	}
	public static void fun(Object p) {
		if (p instanceof Animal)
			System.out.println("是类Animal的实例");
		if (p instanceof Postgraduate)
			System.out.println("是类Postgraduate的实例");
		if (p instanceof Student)
			System.out.println("是类Student的实例");
		if (p instanceof Human)
			System.out.println("是接口Man的实例");
		if (p instanceof Object)
			System.out.println("是类Object的实例");
	}
}

运行结果

Postgraduate 的对象
是类Postgraduate的实例
是类Student的实例
是接口Man的实例
是类Object的实例

画图解释
在这里插入图片描述

总结:

  • instanceof运算符的前一个操作符是一个引用变量,后一个操作数通常是一个类(可以是接口),用于判断前面的对象是否是后面的类,或者其子类的实例。如果是返回true,否则返回false;
  • null instanceof 类或接口返回的都是false;
  • 多态性出现时,instanceof关键字会很有用,一般做强制类型转换之前都会使用该关键字先判断一下,然后再进行转换的。
  • instanceof关键字左操作数和右操作数要有继承或者实现关系

猜你喜欢

转载自blog.csdn.net/weixin_41550144/article/details/86582830
今日推荐