親クラスの変数の拡張バージョンを使用する必要がある拡張クラスがあります。これまでのところ私はこのようにそれを使用して離れてなってきました:Javaの子クラスで親変数の拡張バージョンを使用する
public class ParentClass
{
protected ParentVariable variable;
public ParentClass(){
this.variable = new ParentVariable();
}
....
}
public class ChildClass extends ParentClass
{
public ChildClass(){
super();
this.variable = new ChildVariable();
//Where ChildVariable Extends ParentVariable
....
}
}
私はChildVaribleにキャスト変数を使用しますが、これは醜いですし、いくつかの問題を投げるたびに限り、これは多かれ少なかれ作品を。これを実行するより良い方法はありますか?ありがとう。
不明確:スーパークラスのすべてのメソッドがサブクラスでも表示されている場合は、なぜそれを常にキャストする必要がありますか? –
ChildClassで変数がどこに定義されていますか? –
@EugeneS OPは 'ChildClass'がコード内で' ParentClass'を拡張することを忘れたと思います。 –