所以,如果我有四个类,A,B,C和D.类B和C扩展类A,类D扩展类C.使用Java的instanceof
运算符将B instanceof C
返回true,因为他们有同一个父母?
答案 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?