我希望通过类的实例提供公共方法。我有一个抽象方法的类。另一个类扩展它并实现抽象方法。但是,当我创建了包含抽象方法的类的实例时,我已经看到我可以从任何地方实现实现的抽象方法。我怎样才能限制它的可见性,以免它们从任何地方被调用?
public Class X{
abstract protected void foo();
public void runx() {
// implementation
}
}
Class Y extends X{
protected void foo() {
// implemented
}
}
我有什么
X instance = X();
X.runX();
X.foo() // I donot want foo is reachable.
我想要什么
X.runX();
当我试图调用foo()时,我应该采取编译器错误。我怎么能这样做?