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每个方法都走一下吗?
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每个方法都走一下吗?
2.System.out.println(bb)是将B的对象按字符串的形式输出,B里面的方法不走
2.B中的toString是非静态的,而main方法是静态的
return i;
}
他属于一种重载.
当你输出是对象的时候,toString()方法是自动调用的.你输出任何一个类的对象的时候,调用toString()都在发生.类似于构造方法.
只不过调用的是object类的 你也可以重写 ,覆盖过的就会被调用了..