您的位置:首页 > 编程语言 > Java开发

Java中instanceof的用法

2018-01-08 19:35 417 查看

instanceof 运算符作用

用来在运行时指出对象是否是特定类的一个实例

通过返回一个布尔值来指出,这个对象是否是这个特定类或它的子类的一个实例。

instanceof 用法

boolean result = object instanceof class


参数:

result:布尔类型。
object:任意对象表达式。
class:任意已定义的对象类。


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

instanceof 测试

class Person {
}

class Student extends Person {
}

class Postgraduate extends Student {
}

class Animal {
}

public class InstanceofTester {
public static void main(final String[] args) {
instanceofTest(new Student());
}

public static void instanceofTest(final Person p) {
// 判断p的真正类型
if (p instanceof Postgraduate) {
System.out.println("p是类Postgraduate的实例");
} else if (p instanceof Student) {
System.out.println("p是类Student的实例");
} else if (p instanceof Person) {
System.out.println("p是类Person的实例");
} else if (p instanceof Object) {
System.out.println("p是类Object的实例");
}
// if(p instanceof Animal){
// //此错编译错误,所以做注释
// System.out.println("p是类Animal的实例"); }
// }

}
}


这个程序的输出结果是:p是类Student的实例

Person类所在的继承树是:Object<–Person<–Student<–Postgraduate。

这个例子中还加入一个Animal类,它不是在Person类的继承树中,所以不能作为instanceof的右操作数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 实例 对象