首页 > 解决方案 > 我并没有真正得到构造函数方法

问题描述

public class LinkedListNode {
    public LinkedListNode next;
    public LinkedListNode prev;
    public LinkedListNode last;
    public int data;
    public LinkedListNode(int d, LinkedListNode n, LinkedListNode p) {
        data = d;
        setNext(n);
        setPrevious(p);
    }
    
    public LinkedListNode(int d) {
        data = d;
    }   
    
    public LinkedListNode() { }

    public void setNext(LinkedListNode n) {
        next = n;
        if (this == last) {
            last = n;
        }
        if (n != null && n.prev != this) {
            n.setPrevious(this);
        }
    }       
    public void setPrevious(LinkedListNode p) {
        prev = p;
        if (p != null && p.next != this) {
            p.setNext(this);
        }
    }   

标签: this

解决方案


this是一个指向当前类的常量变量,所以它基本上以public class LinkedListNode某种方式引用。该setNext方法将next变量设置为n,然后检查当前类是否与last变量相同,最后检查是否n不为空并且该类的prev变量n不是当前类,然后setPreviousn该类中调用。

setPreviousprev变量设置p为之前出现thisp类中的变量n,然后如果之前的类引用不为 null 并且next之前的类引用的变量不是现在的当前类引用this,它调用setNext.


推荐阅读