我想知道为什么我得到L的地址而不是值?

时间:2019-11-26 01:08:42

标签: java

公共类SLList {     public IntNode first; //首先为IntNode类型创建64位空间

public SLList(int x) {
    first = new IntNode(x, null);
} 

public void addFirst(int x) {
    first = new IntNode(x, first);
}

public static void main(String[] args) {
    SLList L = new SLList(10);
    L.addFirst(10);
    System.out.println(L);
}

}

1 个答案:

答案 0 :(得分:0)

System.out.println(L)将在参数上调用toString()方法(在这种情况下为L)。由于L是类而不是String,因此默认的toString()方法将输出ClassName@HashCode。如果要用文本形式表示L中的内容,则需要覆盖toString()方法:

public class SLList {
    ...
    @Override
    public String toString() {
        return "Overridden toString()";
    }
    ...

然后System.out.println(L)将打印Overridden toString()