【发布时间】:2020-02-02 21:26:55
【问题描述】:
我正在尝试使用需要在执行实际逻辑之前和之后调用私有方法的方法来构建基类。
public abstract class Base {
public Base() {}
private void before() {
// doSomething
}
private void after() {
// doSomething
}
public void actual(Object object) {
before();
// doSomething
after();
}
}
public class SomeClass extends Base {
public SomeClass() {}
public void actual(Object object) {
// actual code that needs to be executed between before and after methods.
}
}
我该怎么办?
【问题讨论】:
-
添加一个受保护的抽象方法来代替
// doSomething(在actual中)并考虑将actual设为final。 -
在基类中创建
protected方法而不是private怎么样?仅当您想继承这些方法时才这样做(实现保持在Base中)。或者,你可以按照@Slaw 所说的去做。