让我们假设我有课:
class A {
protected int x; // no public getter, setter
}
现在我想扩展 A 类,以覆盖 'x' 变量。答案是:
public class SomeClass {
someMethod() {
A extendedClass = new MyExtension(5);
}
class MyExtension extends A {
public MyExtension(int x) {
super.x = x;
}
}
}
我的问题是:有没有可能在不单独定义嵌套类的情况下做到这一点?我的意思是这样的
someMethod() {
A extendedClass = new A() {
// here do something like super.x = 5;
}
}
我尝试从匿名类调用新定义的方法,但它不会让我实例化 A 类。我也不想使用反射。
我很简单,不想定义嵌套类只是为了覆盖一个属性。问题的根源是Spring-integration ImapMailReceiver,我想覆盖任务调度程序。像下面这样:
final ImapMailReceiver imapMailReceiver = new ImapMailReceiver() {
super.setTaskScheduler(MYTASKSCHEDULERHERE);
}
慕神8447489
紫衣仙女
相关分类