gpt4 book ai didi

java - 如何使用相同的变量名实例化不同类的对象

转载 作者:行者123 更新时间:2023-12-01 07:51:27 27 4
gpt4 key购买 nike

我正在尝试创建一个具有相同名称的引用变量,并根据环境将类对象分配给相同的变量。请检查下面的示例代码。

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();
}

在上面的代码中,我需要将 obj 分配给 EnvAEnvB 的对象引用。因为我将在整个“class main”中仅使用 obj 。

最佳答案

您应该定义一个具有 create() 方法的接口(interface),并且 EnvAEnvB 都应该实现它。

然后 obj 的类型将由该接口(interface)的类型决定。

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();

请注意,为了在 main 方法中引用 obj,它应该是类的静态成员或 main 的局部变量 方法。

关于java - 如何使用相同的变量名实例化不同类的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36716949/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com