我正在尝试创建一个具有相同名称的引用变量,并根据环境将类对象分配给它们.请检查下面的示例代码.
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();
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我需要obj分配给对象参考EnvA或者EnvB.因为我只会obj在我的整个"班主"中使用.
你应该定义具有一个接口create()方法,都EnvA和EnvB应该实现它.
然后obj是该接口类型的类型.
public interface Createable
{
public void create();
}
class EnvA implements Createable {...}
class EnvB implements Createable {...}
...
Createable obj = null;
if(itisEnvB) {
obj = new EnvA ();
} else {
obj = new EnvB ();
}
obj.create();
Run Code Online (Sandbox Code Playgroud)
请注意,为了obj在您的main方法中引用,它应该是您的类的静态成员或方法的局部变量main.
| 归档时间: |
|
| 查看次数: |
285 次 |
| 最近记录: |