java - 类对象的生命周期 : Java

标签 java android class static object-lifetime

我对 Java 变量和类对象的生命周期的了解有限,因此我提出了这个问题。我知道我们不能在 java 中创建静态类。引用SO上的问题,我知道Java中只有嵌套类可以是静态的。

我的要求:我有一个具有不同 Activity 的 android 应用程序。在一项 Activity 中,我要求提供用户详细信息,如用户名和其他偏好,我希望这些也可以从其他 Activity 中访问。我有一个具有不同类成员的类来存储/检索这些值(使用 setter/getter)。

public class ClassTest {

public int x;
String a;

/**
 * @return the a
 */
public String getA() {
    return a;
}
/**
 * @param a the a to set
 */
public void setA(String a) {
    this.a = a;
}

/**
 * @return the x
 */
public int getX() {
    return x;
}

/**
 * @param x the x to set
 */
public void setX(int x) {
    this.x = x;
}
}

但是,当我想从另一个 Activity 访问这些变量的值时,我创建了一个此类的对象,这就是我的问题 - 所有类成员现在都再次初始化,存储的值消失了!

ClassTest object=new ClassTest();
object.setA("foo bar");

在另一个 Activity 中使用该对象,我创建了该类的一个新对象:

ClassTest object=new ClassTest();

还有!值(value)观消失了!

我能做的一件事是将它们保存在属性文件中并在需要时读取它们,但我希望有一种方法可以使用类对象来完成此操作。

欢迎提出任何关于如何实现这一目标的想法!

提前致谢:)

最佳答案

这就是为什么我们有

intent.putExtra("classTestObject", object);

您不必在每个 Activity 中再次创建对象实例。只需传递引用即可。

关于java - 类对象的生命周期 : Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24470714/

相关文章:

java - 连接到java中列表中的最后一个元素

java - 如何在没有第三方库的情况下完全解析 HTML?

java - 使用线程按顺序显示字符串后应用程序崩溃

php - 从 PHP 中的变量实例化一个类?

java - 2-opt 搜索实现有缺陷吗?

java - 为什么 JSch ChannelSftp 返回 "Handle closed"?

打开时看到的Android数字选择器设置值

android - 如何删除进度条底部的进度条编号?

C++ 类初始化

java - 编辑数组中的类 [Java]