instanceof运算符是否考虑了兄弟类实例?

时间:2016-06-21 22:44:49

标签: java class instanceof

所以,如果我有四个类,A,B,C和D.类B和C扩展类A,类D扩展类C.使用Java的instanceof运算符将B instanceof C返回true,因为他们有同一个父母?

1 个答案:

答案 0 :(得分:0)

没有。他们是“兄弟姐妹”。类C和B都是A的实例,但它们不是彼此的实例。

以下测试 true

B instanceof A
C instanceof A
D instanceof C

请注意,以下是 false

A instanceof B
A instanceof C
C instanceof D

子类是父类的实例,但不是相反的实例。那是因为父母不知道孩子实施的新行为是什么,但是孩子继承了父母的所有行为。

此主题的更多信息:Does instanceof return true if instance of a parent?