匿名类与命名内部类?- 最佳实践?
我有一个类,我们称之为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.
}
}
我不是匿名内部课程的粉丝,因为坦率地说,我只是觉得它看起来非常丑陋。但是,对于只在一个地方使用的子类,命名的内部类是否过度了?什么是公认的做法?