gpt4 book ai didi

java - 如何防止抽象方法被调用?

转载 作者:行者123 更新时间:2023-12-01 19:08:14 25 4
gpt4 key购买 nike

我有一个 super super (祖 parent )抽象 bean 类,在其 init() 方法中调用 loadData() 方法,如下所示:

public abstract class BaseFwkPageController extends PageControllerSupport {

public String init(){
cleanSession();
loadData();
return initNavigation;
}

public abstract void loadData();

// ...
}

现在我不想在子子类(子类)中调用这个loadData()方法。我无法更改 super 类。我怎样才能实现这个目标?

最佳答案

您无法隐藏该方法、降低其可见性或阻止任何人调用。

但是你可以在你的子类中做这样的事情:

@Override
public void loadData() {
throw new UnsupportedOperationException("not supported");
}

或者,您可以放入一个接口(interface),仅公开可通过该接口(interface)调用的内容。

Interface interface = new Implementation();
interface.callMethod();

这样您就可以完全控制。

关于java - 如何防止抽象方法被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9257481/

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