同じ名前の参照変数を作成し、その環境に応じて同じクラスオブジェクトを割り当てようとしています。以下のサンプルコードを確認してください。上記のコードで異なるクラスのオブジェクトをインスタンス化するために同じ変数名を使用する方法
class EnvA{
public void create(){
.....
}
}
class EnvB{
public void create(){
.....
}
}
class main{
EnvA obj = null;
EnvB obj= null;
public static void main(string[] args)
if(itisEnvB)
obj = new EnvA();
else
obj = new EnvB();
//create method should be called depending on which environment is set
obj.create();
}
私はEnvA
またはEnvB
のいずれかのrefernceをオブジェクトに割り当てられて取得するobj
を必要としています。私は私の全体の "クラスメイン"でobj
だけを使用するので。
インターフェイスを使用して、作成を公開することができます。 –
https://docs.oracle.com/javase/tutorial/java/concepts/interface.htmlを参照してください。メインでは、オブジェクト作成に同じ名前を使用できません。それは重複変数名のエラー –
を参照してくださいエランの答えを参照してください:) –