相当于扩展final类以在java中添加额外的功能

时间:2015-02-21 01:21:58

标签: java inheritance extend final

我想在java中扩展final类,在继承的类中添加一个新方法。我应该使用哪种模式?

例如:

final class foo {
}

foo是java中的最后一课。

我想在内置类中扩展它以添加额外的功能。

class bar extends foo {
    dosomething(){
    }
}

我不能延长最后的课程。我应该怎么做才能使条形图像foo一样具有附加功能?

是否有实现此功能的模式?这样它将执行具有附加功能的最终类的所有功能

1 个答案:

答案 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() {
        //
    }
}