我知道在Java中我们无法扩展最终的类.但是,有没有其他方法可以让我获得延伸最终课程的效果?
因为我有一个满足我要求的最终课程,所以如果我能以某种方式重复使用它,那对我来说会有很大的帮助.
Arn*_*sch 28
为最终类创建一个包装器?
像这样的东西:
class MyClass {
private FinalClass finalClass;
public MyClass {
finalClass = new FinalClass():
}
public void delegatingMethod() {
finalClass.delegatingMethod();
}
}
Run Code Online (Sandbox Code Playgroud)
类似的包装类MyClass不会被接受为.的实例FinalClass.如果FinalClass实现任何接口,您可以实现它们MyClass以使类更相似.任何非最终的父母都是如此FinalClass; 在这种情况下,您的MyClass设计应该与那些父类兼容.
甚至可以在运行时使用反射创建包装类.在这种情况下,您可以使用Proxy该类.请注意,代理类确实需要有关Java类型系统的深入知识.
| 归档时间: |
|
| 查看次数: |
9019 次 |
| 最近记录: |