一般来说,对于exception,当调用e.printstack的时候会用到,另外,System.out.println也会自动去调用

解决方案 »

  1.   

    没个非基本型别的对象都具备toString(),当编译器希望得到一个String,而你手上却只有那些对象的情况下,这个函数便会被自动唤起。
      

  2.   

    对一个对象进行输出得时候,就自动调用toString, 如果没有toString,就输出对象地址。
    楼上说的是2种输出情况。
    还有一种:
    比如说:有一个类的构造函数是这样的:public abc(Object obj);
    我们可以在abc后面跟任何类型的参数,这时就调用obj的toString,如果没有toString,就是得到他的地址。
      

  3.   

    VeryImportantException  ex = new VeryImportantException ();
    System.out.println(ex); <=> System.out.println(ex.toString());
      

  4.   

    public abc(Object obj),传递的参数也必须是类的包装类型,比如不能传一个int,int也不会有toString(),而应包装了Integer(i)才可以,toString()是从Object继承下来的。
      

  5.   

    把一个Object当成String来用的时候.
      

  6.   

    和楼上的意见一样,当你需要把一个对像转换成String来用的时候,写toString()方法