package bullshit;class B{
private String i="111";
String j="222";
public String toString(){
return i;}}
public class hh{
public static void main(String[]args){
     B bb=new B();
     System.out.println(bb);
}
}
B类中的方法toString 不用对象引用bb.toString()直接就可以使用为什么?如果我这个B类很多方法System.out.println(bb);难道类B每个方法都走一下吗?

解决方案 »

  1.   

    1.B中的toString在hh中必须对象调用,在B自己中无须这么做,因为他属于B
    2.System.out.println(bb)是将B的对象按字符串的形式输出,B里面的方法不走
      

  2.   

    请问一下为什么toString必须对象调用,而别的自己定义的方法.必须要用对象.方法();出来那么做啊
      

  3.   

    1.hh与B是两个不同的类
    2.B中的toString是非静态的,而main方法是静态的
      

  4.   

    public   String   toString(){ 
    return   i; 

    他属于一种重载.

    当你输出是对象的时候,toString()方法是自动调用的.你输出任何一个类的对象的时候,调用toString()都在发生.类似于构造方法.
    只不过调用的是object类的  你也可以重写 ,覆盖过的就会被调用了..