如何在 Java 中扩展最终类
这是我的问题,实际上我现在正面临。我有一个类,比方说,这个类定义了一个名为返回实例的方法。该类在 内部定义,并声明为 。我想做的是定义一个扩展的类,但我也想通过添加自己的功能(方法,属性等)来扩展。我也想回来。Foo
getBar
Bar
Bar
Foo
public static final
MyFoo
Foo
Bar
MyBar
getBar
MyBar
问题是最终的。以下是我想做的事情的插图:Bar
public class Foo {
Bar bar = new Bar();
public Bar getBar(){
return bar;
}
....
public static final class Bar {
}
}
我想做的是:
public class MyFoo extends Foo {
public MyBar getBar(){ // here I want to return an instance of MyBar
}
public static final class MyBar extends Bar { // That's impossible since Bar is final
}
}
我怎样才能做到这一点?
[编辑]我正在为我的问题添加更多细节。我实际上正在为Jenkins开发一个插件,经过搜索,我意识到有一个插件提供了我想做的基本功能,并且.我想自定义 和 ,因此它可以满足我的需求。Foo是插件的主类,并扩展了一个名为Builder的类。Foo定义了一个调用的方法,其中包含执行构建的所有操作。 包含用于配置目的的操作,Foo 需要 Bar 来获取这些信息。Foo
Bar
Foo
Bar
perform
Bar
所以我想做的是扩展 Foo,并用 添加一些配置。如您所见,将需要通过调用MyFoo
MyBar
MyFoo
getBar();
第二件事是我无法控制和的实例化MyFoo
MyBar
阻碍我的是,我不能扩展Bar。我怎样才能做到这一点?