java 跨类取值最优解 并确保类为同一对象
时间: 2024-02-14 10:07:26 浏览: 31
要确保跨类取值的对象为同一对象,可以使用单例模式来创建该对象并在需要时获取它的实例。以下是一个示例代码:
```
// 定义一个单例类,包含一个私有变量和对应的 getter 和 setter 方法
public class MySingleton {
private static MySingleton instance;
private int myVariable;
private MySingleton() {
// 私有构造函数,防止创建多个实例
}
public static MySingleton getInstance() {
if (instance == null) {
instance = new MySingleton();
}
return instance;
}
public void setMyVariable(int value) {
this.myVariable = value;
}
public int getMyVariable() {
return this.myVariable;
}
}
// 在另一个类中,获取 MySingleton 实例并使用 getter 和 setter 方法来获取和设置 myVariable 变量的值
public class AnotherClass {
public static void main(String[] args) {
MySingleton myObj = MySingleton.getInstance();
myObj.setMyVariable(42);
int myValue = myObj.getMyVariable();
System.out.println("The value of myVariable is: " + myValue);
}
}
```
在这个例子中,我们定义了一个名为 MySingleton 的单例类,其中包含一个私有变量 myVariable 和对应的 getter 和 setter 方法。MySingleton 类的构造函数是私有的,以防止创建多个实例。我们使用 getInstance 方法来获取 MySingleton 类的实例,如果实例不存在,则创建一个新实例。在 AnotherClass 类中,我们获取 MySingleton 的实例 myObj,并使用 setMyVariable 方法将其值设置为 42。然后我们使用 getMyVariable 方法获取 myVariable 的值,并将其存储在 myValue 变量中。最后,我们将 myValue 的值输出到控制台。由于 MySingleton 类是单例的,因此我们确保了在多个类中使用相同的对象。