哪个关键字有助于确定子类?

时间:2014-07-08 23:42:06

标签: java subclass instanceof

obj instanceof Arrays

有助于了解objArrays的实例,但我想知道用什么运算符来查找obj是否为Arrays的子类?

假设类Animal是Dog的超级类。

Dog d = new Dog().

if {dog"哪个运营商?" Animal)会产生true

3 个答案:

答案 0 :(得分:3)

对于子类,

instanceof也将返回true。 Dog的实例也是Animal的实例。

答案 1 :(得分:2)

请参阅isAssignableFrom()

Animal.class.isAssignableFrom(dog.getClass())
如果trueDog的孩子(扩展或实施),则

将返回Animal

如果您在运行时确定了类型,如果已修复以检查类型,那么这将对您有帮助,那么您可以使用instanceof运算符

使用此方法时,请务必处理null

答案 2 :(得分:1)

Jigar的解决方案可能是最好的,但你也可以这样做:

dog instanceof Animal && !dog.getClass().equals(Animal.class)

如果dog的类是Animal的子级但不是基级Animal实例,则只会返回true。