我知道你不能覆盖变量,但是有没有办法从本质上“覆盖”下面的最终工作变量?
public class ClassA {
final protected CustomClass worker;
public doComplicatedWork() {
....
worker.doSomething();
....
}
}
基本上我想做的就是扩展 CustomClass
并让 ClassA
正常完成所有工作,除了 worker
将是我的扩展 自定义类
。 ClassA
和原始的 CustomClass
都在一个 jar 中,所以我不想参与修改它们。有办法做到这一点吗?
最佳答案
听起来你不需要这样做。假设您将 worker
作为构造函数参数传递给 ClassA
,因此只需构造您的 Worker,并将其传递给 ClassA
即可。您的问题中没有任何内容听起来像是您需要削弱 final
声明。
关于java - 有没有办法将 "override"本质上作为最终变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18150003/