Java方法返回内存地址

时间:2018-04-26 12:11:15

标签: java

以下函数返回一个内存地址而不是它应该的实际Node,任何输入?:

public Node getNode(){
    Node nextnode = new Node(this.title, this.disX, this.disY);
    return nextnode;
}

当被称为:

AcNode aNode = new AcNode("Test", 0.5, 0.6)
System.out.println("See next node" + aNode.getNode());

AcNode是Node的子类,使用与super相同的构造函数。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

当您将对象连接到String时,就像在那里一样,将调用toString方法。默认情况下,如果未定义toString方法,则会在内部调用toString方法,该方法将打印指向对象的“内存地址”。因此,您需要在toString类中定义一个Node方法,该方法返回您在这种情况下要查找的信息。

或者,您可以调用getter而不是依赖toString方法:

aNode.getNode().getIdentifier()

或调用任何getter方法(getIdentifier只是一个例子)。