Java instanceof及其应用
instanceof运算符用于检查传递的对象的类型。以下规则说明了Java中instanceof运算符的用法。
如果对照对象的类类型进行检查,则instanceof运算符将为该对象返回true。
如果根据对象的类型(不在其层次结构中)进行检查,则instanceof运算符将为该对象返回false。
如果对照父对象类型进行检查,instanceof运算符将为子对象返回true。
instanceof运算符对直到Object类的整个对象层次结构都返回true。
instanceof运算符将null值返回false。
如果对照子对象类型检查,instanceof运算符将为父对象返回false。
以下示例展示了上述概念。
示例
class SuperClass {
int value = 10;
}
class SubClass extends SuperClass {
int value = 12;
}
public class Tester{
public static void main(String[] args){
SuperClass obj = new SubClass();
//instanceof returns true for the complete Object Hierarchy
if(obj instanceof SubClass){
System.out.println("obj is instanceof SubClass");
}
if(obj instanceof SuperClass){
System.out.println("obj is instanceof SuperClass");
}
if(obj instanceof Object){
System.out.println("obj is instanceof Object");
}
SuperClass obj1 = null;
//instanceof returns false for null
if(obj1 instanceof SuperClass){
System.out.println("null is instanceof SuperClass");
}
SuperClass obj2 = new SuperClass();
//instanceof returns false for the subclass
if(obj2 instanceof SubClass){
System.out.println("obj2 is instanceof SubClass");
}
if(obj2 instanceof SuperClass){
System.out.println("obj2 is instanceof SuperClass");
}
}
}输出结果
obj is instanceof SubClass obj is instanceof SuperClass obj is instanceof Object obj2 is instanceof SuperClass
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练