Java:类的对象,作为同一类中的实例变量

Java:类的对象,作为同一类中的实例变量,java,member-variables,Java,Member Variables,作为一个初学者,我有一个概念上的疑问。类类型对象作为同一类中的成员/实例变量有什么用途? 大概是这样的: class MyClass { static MyClass ref; String[] arguments; public static void main(String[] args) { ref = new MyClass(); ref.func(args); } public void func(String[] args) { ref.argument

作为一个初学者,我有一个概念上的疑问。类类型对象作为同一类中的成员/实例变量有什么用途? 大概是这样的:

class MyClass {

static MyClass ref;
String[] arguments;

public static void main(String[] args) {
    ref = new MyClass();
    ref.func(args);
}

public void func(String[] args) {
    ref.arguments = args;
}
}


提前谢谢

通常使用一个类具有相同类的成员/属性的一般情况。一个示例用于实现

通常使用一个类具有相同类的成员/属性的一般情况。一个示例用于实现

,该示例用于:

这在以下情况下使用:


我所能看到的唯一用途是从静态方法调用同一类的任何实例方法,而无需一次又一次地重新创建对象。如下所示

public class MyClass {

static MyClass ref;
String[] arguments;

public static void main(String[] args) {
    ref = new MyClass();
    func1();
    func2();
}

public static void func1() {
    ref.func();
}

public static void func2() {
    ref.func();
}

public void func() {
    System.out.println("Invoking instance method func");
}
}

我所能看到的唯一用途是从静态方法调用同一类的任何实例方法,而无需一次又一次地重新创建对象。如下所示

public class MyClass {

static MyClass ref;
String[] arguments;

public static void main(String[] args) {
    ref = new MyClass();
    func1();
    func2();
}

public static void func1() {
    ref.func();
}

public static void func2() {
    ref.func();
}

public void func() {
    System.out.println("Invoking instance method func");
}
}

如果您通常指的是自引用类,那么它们对于任何结构都非常有用,其中该类的某个瞬间需要指向该结构中的相邻瞬间,例如在树、链表等图形中。对于存在与封闭类相同类型的静态字段的特定示例,这可以在设计模式中使用,如单例模式。

如果您通常指的是自引用类,则它们对于任何结构都非常有用,其中该类的某个瞬间需要指向该结构中的相邻瞬间,如树、链表、,等等。对于存在与封闭类相同类型的静态字段的特定示例,这可能用于设计模式,如单例模式。

@RyanJ其他方法:您不能从静态代码访问非静态。@RyanJ其他方法:您不能从静态代码访问非静态。否。OP有一个静态字段,而不是一个实例。我认为“概念”问题是指一般构造,而不是专门引用字段的静态。链表需要一个实例字段,即非静态字段来保存对下一个节点的引用。否。OP有一个静态字段,而不是一个实例。我认为“概念”问题是指一般构造,而不是专门引用字段的静态。链表需要一个实例字段,即非静态字段来保存对下一个节点的引用。