黑马程序员技术交流社区
标题:
instanceof总结
[打印本页]
作者:
李贺晓
时间:
2012-10-16 14:41
标题:
instanceof总结
instanceof是Java的一个二元操作符,和==,>等的用法一样,主要是用来测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据,可以用在子类继承中的实例是否是父类的实现
用法:result = object instance of class
参数:result
变量(必选项):object
已定义的对象类(必选项):class
说明:如果object是class的一个实例,则instanceof运算符返回true。如果object不是指定类的一个实例,或者object是null,则返回false。
class Person{}
class Student extends Person{}
class Animal{}
public class InstanceofTester {
public static void main(String[] args) {
instanceofTest(new Student());
}
public static void instanceofTest(Person p){
// 判断p的真正类型
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类所在的继承树是:Student-->Person-->Object
Animal类,它不是在Person类的继承树中,所以不能作为instanceof的右操作数。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2