Yes. and after you defined toString(), you can call System.out.println(m);

解决方案 »

  1.   

    Object.toString()如下定义:
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
    Date这些类是JDK的内部类,不用getClass()。
      

  2.   

    这就是toString()的一个用法,当你输出一个类的时候,这个类就会去调用这个方法。
    Thinking in java 里有解释。
      

  3.   

    接上补充 ^_^
    Date这些类都覆写了Object的toString()方法,因此可以直接输出
    也就是说你所说的直接输出事实上是使用了覆写了的toString方法
    如果你也想要这样的效果,那么就在你的类里面也覆写toString()方法 ^_^public String toString() {
      ......
    }
      

  4.   

    晕~~~
    我是接 lasersong2004(路宋) 补充的 ^_^
      

  5.   

    本人愚钝,特详细请教wobelisk的回复让我想问:
    重载了toString的类的对象是否都可以不带方法名,在System.out.print( )
    的参数位置给对象变量或对象本身就可以了呢?这是为什么呢?
      

  6.   

    Date类中自带了toString()方法!
    你自己定义的类没有.所以不行.
    当然.Java中的类一般都有自动调用toString()方法的功能.
    至于怎么写的俺就不得而知了.但是自己定义的就要
    调用toString()方法!
      

  7.   

    如上:
    Java中的类一般都有自动调用toString()方法的功能有谁知道是如何实现的吗?
    给分哦
      

  8.   

    因为println()会默认调用toString()方法,Object的toString()方法只适用于基本类型,所以在你的类重要重载该方法.
      

  9.   

    哦 , 对了, 我对toString 不太了解 , 请各位高手能详细讲讲它的功能吗?
      

  10.   

    建议有兴趣的人直接去找几个类看toString方法的源代码(比如:Date等)
    然后再去看看PrintStream中如何实现println()和print()方法的源代码
    还有String类中的valueOf()方法这一串看下来,应该就能明白println是如何实现的了,也就明白我们为什么要覆写toString()方法了