日期:2014-05-20  浏览次数:20647 次

一点小疑问,问问大家
public   class   AA
{
    public   static   void   main(String[]   args)
        String   s=new   String( "Hello ");
      AA   a=new   AA();
        System.out.println(a);
        System.out.println(s);
}
为什么s   打印出的是Hello;而a   打印出的是地址信息

------解决方案--------------------
呃...因为AA没有toString方法吧....
------解决方案--------------------
这个程序少了一组括号也能跑吗?
------解决方案--------------------
System.out.println(a);相当于 System.out.println(a.toString());
因为你没有重载toString(),所以就是系统默认的toString()方法的输出了.
------解决方案--------------------
System.out.println 里如果传一个对象的话默认会调用这个对象的toString()方法。
------解决方案--------------------
同意楼上,一个对象通过调用toString()方法获取该对象的字符串表示.
------解决方案--------------------
自动调用toString()方法了