我有一个类,称之为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.
}
}
我不喜欢匿名内部类,因为我觉得看起来非常丑陋。但在仅在一个地方使用的子类情况下,是否使用命名内部类有些过度?那么,接受的惯例是什么?