让我们想象一下,我们必须根据运行时的定义从不同的类调用一个方法。例如,我们收到这样的 JSON:{"calculator": "MyClass1", "parameter1": 1.0, "parameter2": 2.0, ... }MyClass1 和更多类要么扩展某个基类,要么实现某个接口(只是为了能够在运行时枚举它们)。我们必须创建对象,将参数传递给对象并调用 calculate() 方法。我可以想到两种方法来做到这一点:switch(calculatorString) { case "MyClass1":calculator = new MyClass1(); ...使用 Java 反射第一种方法真的很愚蠢,因为每次向项目添加新的计算器类时都必须更新代码。第二种方法稍好一些,但 IDE 无法捕获我们在创建对象和调用方法时犯的任何类型错误。有没有其他方法可以做到这一点(可能更好)?
添加回答
举报
0/150
提交
取消