什么是输出?

时间:2016-02-07 19:16:00

标签: java output bluej

下面的第1行显示什么? BlueJ打印出A @ 18fea98,但我不认为这是正确的。请帮忙,谢谢。

gigas.~basics();

1 个答案:

答案 0 :(得分:0)

默认情况下,out.println(obj)将在对象测试中调用toString方法,默认情况下,该方法将返回调用toString的对象的HashBased内存位置。

在您的方案中: A@18fea98

哪个是预期的输出。如果需要打印x属性的值,则有以下两个选项

  1. 调用getter以获取属性的值
  2. 重写A类上的toString方法以返回您想要的表示
  3. 例如:

        class A{
           private int x;
           public A() { 
             x = 0;
           }
    
           public String toString() {
              return "A:"+x;
           }
       }