gpt4 book ai didi

java - 在没有实例引用的情况下存储和访问类中的对象

转载 作者:太空宇宙 更新时间:2023-11-04 11:50:31 26 4
gpt4 key购买 nike

我知道在 C# 中这样做是可以的,但是在 Java 中呢?我已经测试过它并且它有效,但是应该避免它吗?如果是的话,为什么?

public class A {
public A() {
B.set(this);
}
}

public final class B {
private static A a;

public static void set(A a) {
this.a = a;
}

public static A get() {
return a;
}

private B() {
}
}

最佳答案

在 Java 中是这样的

private static A a;

称为类字段,它具有相同的值,或者在本例中指向该类的每个实例中的同一个对象。也可以在不创建类实例的情况下访问它,在本例中为 B.get()。您可以更改此设置

public static void set(A a) {
this.a = a;
}

public static A get() {
return a;
}

到此

public static void set(A a) {
B.a = a;
}

public static A get() {
return B.a;
}

关于java - 在没有实例引用的情况下存储和访问类中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41884534/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com