我有一个类,我们称之为 LineGraph,它呈现一个折线图。我需要对它进行子类化,但派生类只在一个地方使用,并且与使用它的类耦合。所以我正在使用一个内部类。
我看到两种方法可以做到这一点:
匿名内部类
public class Gui {
LineGraph graph = new LineGraph() {
// extra functionality here.
};
}
命名内部类
public class Gui {
MyLineGraph graph = new MyLineGraph();
private class MyLineGraph extends LineGraph {
// extra functionality here.
}
}
我不是匿名内部类的粉丝,因为坦率地说,我只是觉得它看起来很丑。但是对于只在一个地方使用的子类,命名内部类是否过大?公认的做法是什么?