gpt4 book ai didi

Java子级执行祖先的方法

转载 作者:太空宇宙 更新时间:2023-11-04 08:11:20 27 4
gpt4 key购买 nike

共有三个类 - ChildrenFatherAncestorChildren 扩展了 Father,而 Father 扩展了 Ancestor,如下所示:

public class Ancestor {
public void test() {
}
}

public class Father extends Ancestor {
@Override
public void test() {
}
}

public class Children extends Father {
@Override
public void test() {
}
}

如何在 Children 的 test() 方法中使用 Ancestor 的 test() 方法?我想跳过父亲的 test() 方法。

最佳答案

你不能。 Java 不允许执行类似 super.super.method() 的操作。 this excellent answer 中概述了其原因。 ,但底线是它违反了封装性。

如果该功能确实必要,并且执行此类操作有意义,您始终可以在 Father 类中添加一个仅调用 super.test() 方法的方法,但执行此类操作通常是不好的做法。除非您有一些真正的推理,否则请重新考虑您的代码。实际上没有必要从 thissuper 调用方法。

关于Java子级执行祖先的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11183226/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com