/**
* instanceof 用于检测对象的类型。
* (1)类的对象与类作instance of操作,结果为true
* (2)子类对象与父类作instance of操作,结果为true。
* 因此,所有对象与Object作instance of操作,结果都为true。
* (3)其他情况下,结果都为false。
*/
public class InstanceOf {
// 父类
static class ClassA {
}
// 子类
static class ClassB extends ClassA{
}
public static void main(String[] args) {
ClassA a = new ClassA();
ClassB b = new ClassB();
// 检测对象a,b是否为ClassA类型
if (a instanceof ClassA){
System.out.println("Object a is a ClassA Object!");
} else {
System.out.println("Object a is not a ClassA Object!");
}
if (b instanceof ClassA){
System.out.println("Object b is a ClassA Object!");
} else {
System.out.println("Object b is not a ClassA Object!");
}
// 检测对象a,b是否为ClassB类型
if (a instanceof ClassB){
System.out.println("Object a is a ClassB Object!");
} else {
System.out.println("Object a is not a ClassB Object!");
}
if (b instanceof ClassB){
System.out.println("Object b is a ClassB Object!");
} else {
System.out.println("Object b is not a ClassB Object!");
}
}
}
运行结果:
C:\java>java InstanceOf
Object a is a ClassA Object!
Object b is a ClassA Object!
Object a is not a ClassB Object!
Object b is a ClassB Object!
用instanceof检测对象的类型
最新推荐文章于 2025-11-30 06:14:52 发布
本文详细介绍了 Java 中的 instanceof 关键字用法,包括如何判断一个对象是否属于某个类或者该类的父类。通过具体的示例代码展示了不同类型间的转换判断,并提供了运行结果。
1159

被折叠的 条评论
为什么被折叠?



