Java 两个班级的最佳实践
如果我需要使用全局类,最好的选择是什么?为什么Java 两个班级的最佳实践,java,android,performance,Java,Android,Performance,如果我需要使用全局类,最好的选择是什么?为什么 public class Global { public static JSONObject GetJsonResquest(String url){ .... }; } 然后在我的活动中调用Global.GetJsonResquest(url) 或 public class Singleton { private static Singleton ourInstance = new Singleto
public class Global {
public static JSONObject GetJsonResquest(String url){
....
};
}
然后在我的活动中调用Global.GetJsonResquest(url)
或
public class Singleton {
private static Singleton ourInstance = new Singleton();
public static Singleton getInstance() {
return ourInstance;
}
private Singleton() {
}
public JSONObject GetJsonResquest(String url){
.....
}
}
然后通过Singleton.getInstance()使用GetJsonResquest(“Asd”) 当我需要一个全局静态变量时,我喜欢将它们分组到一个类中,如
public class MyConstants {
public static final int TIMEOUT = 10000;
}
要使用它,我可以这样称呼它
long tick = System.currentThreadMillis();
while((System.currentThreadMillis() - tick) < MyConstants.TIMEOUT){
Thread.sleep(1000);
}
原因同上。当我更改isStringValidJson时,调用它的其他类不会更改
我确实使用单例模式,但只有在重写应用程序类时才使用。但是,我在OnCreate中设置了实例值。这意味着如果未调用OnCreate,getInstance将返回null
public class MyApplication extends Application {
private static MyApplication instance;
@Override
public void onCreate() {
super.onCreate();
instance = this;
}
public static synchronized MyApplication getInstance(){
return instance;
}
}
当我需要一个全局静态变量时,我喜欢将它们分组到一个类中,如
public class MyConstants {
public static final int TIMEOUT = 10000;
}
要使用它,我可以这样称呼它
long tick = System.currentThreadMillis();
while((System.currentThreadMillis() - tick) < MyConstants.TIMEOUT){
Thread.sleep(1000);
}
原因同上。当我更改isStringValidJson时,调用它的其他类不会更改
我确实使用单例模式,但只有在重写应用程序类时才使用。但是,我在OnCreate中设置了实例值。这意味着如果未调用OnCreate,getInstance将返回null
public class MyApplication extends Application {
private static MyApplication instance;
@Override
public void onCreate() {
super.onCreate();
instance = this;
}
public static synchronized MyApplication getInstance(){
return instance;
}
}
可能重复,但如果我需要使用常量变量。。。示例时间\u默认值=4000或更多。。。或者方法CalculateValue(int jjdsjd)bes方法是什么?我的问题是当活动中只需要1个函数或1个常量,而不需要加载allin时的最佳实践。在这个代码示例中,最好是在第一种情况下,您不需要任何全局实例来将字符串转换为JSONObject可能的重复项,但如果我需要使用常量变量。。。示例时间\u默认值=4000或更多。。。或者方法CalculateValue(int jjdsjd)bes方法是什么?我的问题是,当活动中只需要1个函数或1个常量,而不需要加载allin时的最佳实践。在这个代码示例中,更好的情况是,在第一种情况下,您不需要任何全局实例来将字符串转换为jsonObject