Riy*_*him 1 java oop inheritance
class Super {
public void anotherMethod(String s) {
retValue(s)
}
public String retValue(String s) {
return "Super " + s;
}
}
class Sub extends Super {
public void anotherMethod(String s) {
retValue(s)
}
public String retValue(String s) {
return "Sub " + s;
}
}
Run Code Online (Sandbox Code Playgroud)
如果在主要的,
Super s = new Sub();
s.anotherMethod("Test");
Run Code Online (Sandbox Code Playgroud)
输出将是Sub Test
你有没有人可以帮我讲述如何使用main中的给定序列获得输出Super Test.
让我解释为什么我想要这个,说我有一个类有方法test(),它可以被子类覆盖,在某些情况下我想要覆盖test(),在某些情况下我想要test()超级本身,有很多方法可以做到这一点,最好的建议会有所帮助.
每当我发现自己要求(或被问到)这样的问题时,我明确地知道我在设计和/或对象定义中犯了错误.返回到您的对象层次结构并检查,仔细检查并重复检查每个继承关系是否代表"IS-A",而不是"HAS-A"或更弱的东西.
| 归档时间: |
|
| 查看次数: |
748 次 |
| 最近记录: |