Java 为什么在所述类中使用类作为变量成员

Java 为什么在所述类中使用类作为变量成员,java,class,variables,instance-variables,Java,Class,Variables,Instance Variables,我是Java新手,一直在学习它。所以我很难理解这些是什么,Java是如何处理的,为什么我们要这样声明这些变量。我是说你能教我这方面的知识吗 Public abstract class ListItem { protected Listitem leftLink = null; protected Listitem rightLink = null; protected Object value; some code here } 提前谢谢 为什么要将类名声明为

我是Java新手,一直在学习它。所以我很难理解这些是什么,Java是如何处理的,为什么我们要这样声明这些变量。我是说你能教我这方面的知识吗

Public abstract class ListItem {
    protected Listitem leftLink = null;
    protected Listitem rightLink = null;
    protected Object value;

    some code here
}

提前谢谢

为什么要将类名声明为变量类型而不是int、string

因为开发者需要这样做。有时,一个类的实例必须引用同一个类的另一个实例。LinkedList就是一个典型的例子

将链表视为一系列节点。每个节点都知道下一个要链接的节点。下面是一个简单的节点实现:

class Node<T> {
    private Node<T> next;
    private T value;

    Node(T value) {
        this.value = value;
    }

    public T getValue() {
        return value;
    }

    void setNext(Node<T> next) {
        this.next = next;
    }
}

将新节点添加到集合中时,上一个最后一个节点将引用该节点,从而成为新的最后一个节点。

此处显示的是属于类成员之一的字段。无论如何,你需要更具体地说明什么让你困惑。在您阅读的Java教程/书籍中,有什么不清楚的地方?你看到了吗?如果问题含糊不清,我很抱歉。是的,我已经完成了OOP,并且很好地理解了它。为了澄清我的问题,我对为什么将类名声明为变量类型而不是int、string等的类字段感到困惑。因为您希望存储该类型的数据,而不是int、string等。这就是让我困惑的原因,为什么要声明类的变量类型?当你在其他课堂或主课上使用它时,它是如何工作的?很抱歉,但我真的不知道你想问什么。谢谢你努力向我详细说明,这确实帮助我理解它。虽然我还没有完全理解它,但这将是我进一步理解Java或OOP的垫脚石。事实上,您没有任何限制,阻止您使用类本身作为引用。另一个例子是class
Person
。让我们合理地假设一个人有母亲和父亲。那两位父母也是
s!:)因此,类
Person
可以声明类型为
Person
的变量成员来引用他/她的母亲。如果你觉得这个答案足够的话,我提醒你把你的问题标记为已回答。谢谢你,你帮了我很多。
class LinkedList<T> {

    private Node<T> first;
    private Node<T> last;
    private int length = 0;

    public void add(T value) {
        Node<T> node = new Node<T>(value);

        if(length != 0) {
            last.setNext(node);
            last = node;
        }
        else {
            first = node;
            last = node;
        }

        length++;
    }

    public Node<T> getFirst() {
        return first;
    }
}