【发布时间】:2020-04-26 09:15:47
【问题描述】:
我正在尝试有条件地创建(启动)实例。
我有一个接口,并且有几个实现该接口的类。 (例如,名为“itfc”的接口和类“classA”、“classB”、“classC”
当我从外面得到一个字符串时,(例如“a”)然后我想创建一个 A 类
所以,可以这样写:
public class someClass {
itfc interface;
public someClass(String name) {
this.inteface = makeInstanceByName(name);
}
public makeInstanceByName(name) {
if (name == "A") { return new classA(); }
else if (name == "B") { return new classB(); }
...
else { return null; }
}
}
但是我有很多实现接口的类,而且这些代码看起来也不好。
我已经搜索了枚举,但我不知道如何将它应用到我的枚举中。
你能帮帮我吗?
【问题讨论】:
-
interface是保留关键字 - 将您的东西称为其他名称。itfc也应该是一种类型吗?如果是这样,为什么不使用正确的 Java 大小写约定?感觉好像你在这里误解了如何声明变量类型和命名。 -
对不起,这只是一个错误。问题是,有一个类似(public interface Itfc { ~ })的接口,我将这个接口声明为“Itfc itfc”。我的坏
-
开始使用正确的 java 约定:和接口,就像一个类一样,以大写字母开头,并且因为其他人(包括未来你的)需要能够阅读该代码,所以把它拼出来。 “ltfc”什么都不是,它不是一个词,也不是一个描述,等等。写一个合适的接口名称,然后声明一个该类型的字段。并且在帖子中更新您的代码以实际显示您正在使用的相关代码,不要将其精简到出现语法错误的程度。
-
好的,谢谢。我是编程新手,尤其是java,而且英语不是我的第一语言,所以我不习惯你提到的东西。我会在以后的问题中写得更好。再次感谢