如何在应用执行期间将Java类保留在内存中?

时间:2018-09-20 01:48:28

标签: java class object variables

我知道这是基础知识,但我真的不记得该怎么做。

  1. 在我的MainActivity中,我用从我获得的数据填充了一个班级Util 数据库。
  2. 而且,我想做的是能够从其他类访问此util类的数据。

例如,我在随机课堂上,我想从Util获取一个属性。我该怎么做?考虑到我无法调用new Util() ...,因为它将清除该util类中的信息。总之,如何将对象保存在内存中以便可以从任何地方访问?

1 个答案:

答案 0 :(得分:0)

将要访问的对象设为静态。您应该阅读有关static关键字的基本Java教程,因为当您开始处理线程和内存管理等更高级的主题时,使用它可能会引起问题。 (静态ArrayList是最糟糕的。)

所以您有一些课程 function isFloatNumber(eve) { var regex = /^[0-9]\d{0,4}(\.\d{1,4})?%?$/ var regmatch = regex.test(value); if (regmatch == null|| regmatch==false) { alert("Please fil correct expression"); var elem = eve.currentTarget; elem.value = ""; return false; } return true; }

Util

静态方法不需要实例即可被调用-您可以针对类本身调用它们。

要从代码中的任何位置访问以上示例中的public class Util { private static Map<String, String> data = new HashMap<>(); // assume you have some logic to populate data // This method is static, so you don't need an instance of Util to access it public static Map<String, String> getData() { return data; } }

data

您当然可以新建一个Util实例(例如Map<String, String> theData = Util.getData(); // called against the class ),然后调用Util myUtil = new Util()-但是没有什么区别,您的IDE会警告您正在做如果可以尝试的话。