,如果我有一个类myClass1
和第二类myClass1Extended
这是第一类的扩展,我有这样的代码:的instanceof,子类和铸造
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行,假设第一个答案是肯定的,如果doSomething()在myClass1Extended中没有被覆盖会发生什么?
- 而如果doSomething()被覆盖会发生什么?
- 第4行是(myClass1)必要的吗?
非常感谢您
此问题未显示任何研究工作。请先尝试,然后再问。 –
我认为这是一个有趣的问题,人们给了我很好的答案,不幸的是我会删除它,因为还有其他人认为我应该减去它。 –