如果我有一个类myClass1
和第二类myClass1Extended
是第一类的扩展,我有这个源代码:
myClass1 c1 = something(); // line 1
myClass1Extended c1ex = somethingElse(); // line 2
if (c1ex instanceof myClass1) { // line 3
(myClass1)c1ex.doSomething(); // line 4
}
我有几个问题:
- 在第 3 行,运算符会
instanceof
返回 true 吗? - 在第 4 行,假设第一个答案是肯定的,如果 myClass1Extended 中没有覆盖 doSomething() 会发生什么?
- 如果 doSomething() 已被覆盖,会发生什么?
- 在第 4 行, (myClass1) 是必要的吗?
非常感谢