我有一个与下面的类类似的类,其中包含所有静态方法。因此,该类在其他类中使用时未初始化。在调用此类中的任何静态方法之前,我必须检查条件。即使我添加默认构造函数,它也不会被调用。有人可以建议一些想法来解决这个问题,而无需在其所有用法中实例化此类吗?它需要一个默认构造函数,可以是一个简单的其他解决方案。
每次调用电话之前我都需要检查网络连接。静态初始化程序仅在第一次加载时被调用。
public class ABCServerUtil {
public static boolean checkServer() {...bla...bla...}
}
我需要调用下面的代码并退出。
public ABCServerUtil(){
if(!isNetworkOnline())
return;
}
最佳答案
如果您需要每次调用其中一个静态方法时检查条件,您没有太多选择,只能做您正在做的事情:调用一个方法来进行检查在每个方法的开头。
如果您只需要在类最初加载/初始化时检查一次条件,则可以使用 static initializer :
public class ABCServerUtil {
static {
// Code here runs when the class is loaded
}
// ...
}
关于Java默认构造函数没有初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28805580/