gpt4 book ai didi

java - 在一个类中有一个具有相同类的字段

转载 作者:行者123 更新时间:2023-11-29 09:54:31 25 4
gpt4 key购买 nike

考虑下面这个例子

public class Human
{
public Human h1;
public String name;
public int age;

public Human()
{
name = "myName";
age = 22;
}
}

其中有一个 h1 有什么意义?如何使用?为什么要使用它?我们不能只使用我们将用新创建的实例吗?

最佳答案

What is the point of having a h1 in there ?

这完全取决于类(class)。

How can it be used ?

与任何其他实例成员一样。

and why would it be used ? Can't we just use the instance that we would create with the new ?

考虑一个链表,其中每个节点都有指向下一个(也可能是前一个)节点的链接。这些链接将与节点本身属于同一类。例如,大致:

class LinkedListNode {
private LinkedListNode previous;
private LinkedListNode next;
private Object value;

LinkedListNode(LinkedListNode p, LinkedListNode n, Object v) {
this.previous = p;
this.next = n;
this.value = v;
}

LinkedListNode getPrevious() {
return this.previous;
}

// ...and so on...
}

还有很多其他类似的用例。 Person 类可能有相关人员(配偶、子女)的成员。一个树类可能会有叶子,这些叶子可能与其他叶子有链接。等等


在评论中,您询问了单例类。是的,这绝对是您拥有一个属于类类型的成员的情况。这是一个标准的单例(这个主题有很多变体):

class Foo {
// The singleton instance
static Foo theInstance = null;

// Private constructor
private Foo() {
}

// Public accessor for the one instance
public static synchronized Foo getInstance() {
if (theInstance == null) {
theInstance = new Foo();
}
return theInstance;
}

// ...stuff for Foo to do, usually instance methods...
}

关于java - 在一个类中有一个具有相同类的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18942325/

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