java – 从超类方法调用子类方法?
发布时间:2020-12-15 08:42:51 所属栏目:Java 来源:网络整理
导读:我的应用程序的结构与此类似: class Father{a(){ ... }b(){a();}}class Son extends Father{a(){ ..... }} //override b()没有被覆盖. 当我创建Son的一个实例并且我调用b()时,父的a()被调用,但我希望它执行Son的一个(如果对象是Son).可能吗? 解决方法 儿子
我的应用程序的结构与此类似:
class Father{ a(){ ... } b(){a();} } class Son extends Father{ a(){ ..... }} //override b()没有被覆盖. 解决方法
儿子的方法应该被称为.如果不是,那么您要么不在Son的实例上操作,要么没有正确覆盖该方法.如果签名不完全相同,则可能发生这种情况.我会仔细检查你的实现,签名是完全一样的.另外,尝试在@的Son实现上面抛出@Override,看看是否出现编译错误.如果您这样做,那么您没有正确地覆盖该方法.
像这样 class Son extends Father{ @Override a(){ ...} } 此外,a必须是受保护的或公共的(包私有,默认情况下,仅当父和子在同一个包中时才有效).即儿子必须能够“看到”a()方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |