特定のプログラムについて、私は基本的にいくつかの異なるサブクラスを持つ抽象スーパークラスを持っています。ただし、以下に示すように、フィールド シャドーイングに問題があります。
abstract class Super {
String name;
String getName() {
return name;
}
}
次に、それぞれ独自の「名前」を持つサブクラスを作成します。
class Sub extends Super {
name = "Subclass";
}
ただし、サブクラスのインスタンスを作成し、継承されたメソッド getName() を呼び出すと、フィールドのシャドーイングのために null が生成されます。
この問題を回避し、サブクラスがそれぞれ継承されたメソッドによってアクセスできる一意のフィールドを持つことを許可する簡単な方法はありますか?