我想在java中扩展final类,在继承的类中添加一个新方法。我应该使用哪种模式?
例如:
final class foo {
}
foo是java中的最后一课。
我想在内置类中扩展它以添加额外的功能。
class bar extends foo {
dosomething(){
}
}
我不能延长最后的课程。我应该怎么做才能使条形图像foo一样具有附加功能?
是否有实现此功能的模式?这样它将执行具有附加功能的最终类的所有功能
答案 0 :(得分:2)
正如您所做的那样,您可以做的就是包装类及其方法。您无法使用需要最终类的包装器,但您可以实现最终类中的任何接口
编辑:另请参阅此讨论Equivalent to extending a final class in Java
final class Foo {
public String getSomething() {
//
}
}
class Bar {
Foo foo;
public Bar() {
foo = new Foo();
}
public String getSomething() {
foo.getSomething();
}
public String doSomethingElse() {
//
}
}