📅  最后修改于: 2023-12-03 15:32:01.947000             🧑  作者: Mango
在Java中,isInstance()
是Class
类的方法之一。它用于测试特定对象是否是此Class
实例表示的类或接口的实例。isInstance()
方法可以判断一个对象是否属于某个类或接口。如果对象属于该类或接口,则返回true
,否则返回false
。
public boolean isInstance(Object obj)
obj
:要测试的对象如果对象是此Class
对象表示的类或接口的实例,则返回true
;否则,返回false
。
class Animal {
// ...
}
class Dog extends Animal {
// ...
}
public class Main {
public static void main(String[] args) {
Animal animal = new Animal();
Dog dog = new Dog();
Class animalClass = Animal.class;
boolean isAnimal = animalClass.isInstance(animal);
boolean isDog = animalClass.isInstance(dog);
System.out.println(isAnimal); // true
System.out.println(isDog); // false
}
}
在上面的示例代码中,我们定义了两个类Animal
和Dog
。Dog
是Animal
的子类。我们还定义了一个Main
类,用于测试isInstance()
方法。
首先,我们创建了一个Animal
对象和一个Dog
对象。然后,我们获取Animal
类的Class
对象。接着,我们用isInstance()
方法测试了animal
和dog
对象是否是Animal
类的实例。
打印的结果是true
和false
,这是因为animal
对象是Animal
类的实例,而dog
对象是Dog
类的实例,并不是Animal
类的实例。