我有 5 或 6 个类,我希望它们在内部遵循相同的基本结构。实际上,类应该遵循的大多数只是为了使用函数本身,所以我真的希望这些方法是私有(private)的。
有什么办法可以实现吗?我知道接口(interface)会很好用,但它们不会采用私有(private)成员,也不允许您在已实现的方法中重新定义范围。有什么解决方法吗?
谢谢
最佳答案
我认为你能得到的最接近的方法是使用一个带有abstract
protected
方法的abstract
类:
abstract class A {
protected abstract void foo();
}
class B extends A {
protected void foo() {}
}
要定义公共(public)逻辑,您可以从父类(super class)中的私有(private)方法调用 protected 方法:
abstract class A {
private void bar() {
// do common stuff
foo();
}
protected abstract void foo();
}
通过这种方式,您可以让子类填充私有(private)公共(public) template method具有特定的行为。
关于Java:有没有办法强制执行私有(private)方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1986191/