もっと効果的でしょう。
getNameメソッドを使用して親クラスを定義します。モデルクラスでNameプロパティが公開されるようにするには、これを公開することができます。それ以外の場合は、ここでのように「保護された」状態にすることができます。 "Protected"は、このクラスおよび派生(子)クラス内でメソッドを可視に保ちます。
public class Model {
private static String MODEL_NAME = "Model";
protected String getModelName(){
return MODEL_NAME;
}
}
その後、あなたの子クラスのnameメソッドのための「オーバーライド」を定義します。
public class EventModel extends Model
{
private static String MODEL_NAME = "events";
@Override // Tells the compiler that this method OVERRIDES the parent method
public String getModelName(){
return MODEL_NAME;
}
}
これは、私はあなたがacheiveしようとしている疑いがある道をコンパイルし、実行します。 。 。
EDIT:Oooh。今私は問題を見る。あなたが静的な方法からそれを参照する必要があることを逃した。 。 。
例を挙げてください。私は子供について知る必要のある親を気にしています。私のお父さんに尋ねる。 –
私の答えは以下のとおりですが、私もDave Newtonに同意しなければなりません。あなたの親クラスがその子供について知っておく必要がある場合は、考慮すべき設計上の問題があるかもしれません。(常にそうとは限りません) – XIVSolutions
これは設計上の問題ではない状況を提示できますか? –