2017-08-28 77 views
0

我创建了自己的名为Property的类,并对其进行了实例化。现在我想打印出它的实例之一到控制台,但事已被打印出来,已经显示出这样的信息: enter image description here为什么我无法将自己的类的对象打印到Java中的控制台中

,这是我的代码:

package playground; 

public class PlayGround{ 
    public static void main(String[] args) { 
     Property a = new Property("house",120.2,1989); 
     System.out.println(a); 
    } 
} 

package playground; 

public class Property { 
    private String type; 
    private double area; 
    private int year; 
    public Property(String type, double area, int year){ 
     this.type=type; 
     this.area=area; 
     this.year=year; 
    } 
} 
+2

覆盖了'toString'方法与你的类的字符串表示。 – Henrik

+0

你的意思是我必须在我的类中创建一个名为toString()的方法吗? –

+2

是的,但你应该看看从这里链接到的问题。他们会为您提供所需的背景和答案。 – Henrik

回答

2

当您使用System.out.println()方法它要求对象的方法toString()。由于您没有重写Object类的默认toString方法,因此它会调用Object类的默认toString方法。你可以看到从here

Object类的toString方法返回一个包含 它的对象是一个实例,在at符号 字符'之类的名称的字符串对象的toString方法@”,以及该对象的散列 代码的无符号十六进制表示。换句话说,该方法返回一个字符串等于 ,它的值:

getClass().getName() + '@' + Integer.toHexString(hashCode()) 
+0

尽管这个链接可能回答这个问题,但最好在这里包含答案的重要部分,并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 –

相关问题