作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于两个具有相同名称且仅包含静态方法的实用程序类,我按如下方式进行操作:
示例:
package util1;
public class Utility {
public static void method() {
System.out.println("First Utility. static method");
}
}
package util2;
public class Utility {
public static void method() {
System.out.println("Second Utility. static method");
}
}
import util1.Utility;
public class Component {
private static final util2.Utility anotherUtility = new util2.Utility();
public static void usedByReflection() {
Utility.method();
anotherUtility.method();
}
}
现在我不需要编写完整的第二个实用程序类名称来调用其方法,但也许我没有预见到某些事情......?
附:Component类的方法是由某个BlackBox通过反射来调用的。所有多线程安全功能都在 BlackBox 中。
UPD:我找到了更好的技巧:
import util1.Utility;
public class Component {
private static final util2.Utility anotherUtility = null; // There are some changes
public static void usedByReflection() {
Utility.method();
anotherUtility.method();
}
}
现在我不创建新对象,但是可以在没有任何错误的情况下使用它吗?
最佳答案
IMO,这很令人困惑,可以通过以下方式更清楚地处理:
public class CombinedUtilityComponent {
public static void usedByReflection() {
util1.Utility.method();
util2.Utility.method();
}
}
或者,更好的是,在您的代码中,您可以完全限定类名称,它们就会成为唯一的名称,而无需任何令人困惑的技巧。
关于java - 导入两个同名的实用程序类。有功能还是无用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46526499/
我是一名优秀的程序员,十分优秀!