Java 如何转换类名字符串及其';将静态变量名转换为变量以在另一个类中使用它们?
情况是这样的。我有一个TestA类,它创建了需要测试的A类型的对象。我还有另一个TestB类,它包含静态变量,该静态变量是类型B的对象,并对其运行测试。只有当对象B存在时,对象A上的测试才会运行,所以我目前在TestA类中遇到如下情况:Java 如何转换类名字符串及其';将静态变量名转换为变量以在另一个类中使用它们?,java,Java,情况是这样的。我有一个TestA类,它创建了需要测试的A类型的对象。我还有另一个TestB类,它包含静态变量,该静态变量是类型B的对象,并对其运行测试。只有当对象B存在时,对象A上的测试才会运行,所以我目前在TestA类中遇到如下情况: if(BTest.objectB == null) { new TestB().dependencyBuild(); } 这是有效的。我不想浪费时间来解释原因,但是如果我只将TestB class和objectB(或我的测试依赖的任何其他类)的名称作为
if(BTest.objectB == null) {
new TestB().dependencyBuild();
}
这是有效的。我不想浪费时间来解释原因,但是如果我只将TestB class和objectB(或我的测试依赖的任何其他类)的名称作为参数提供给我,那么我需要这段代码来工作。我需要将这些字符串转换为父类和父对象变量,以便像这样重写上述代码段:
if(ParentClass.parentObject == null) {
new ParentClass().dependencyBuild();
}
这样的事情可能吗?我已经尝试过使用这里的答案:但是我不知道当a)其他类(TestB)没有构造函数,b)我需要的变量(objectB)是静态的时如何使它工作 在这里查看静态字段:在这里查看静态方法调用:添加一些代码来显示开始条件和关于结束状态的断言,直到那时才清楚您在问什么。通过反射,您可以获得所有静态字段。你可以在stackoverflow上找到很多例子。e、 反省是一件需要努力避免的事情。