“+”的重载
用于String时,属于重载字符串,虽然java明确表示不能重载字符串,String相加的过程中调用了了StringBuilder的toString方法。
toString()方法
所有的类都继承于Object类,都自带toString方法,一般情况下创建类的时候都会覆写它的toString()方法用来打印对象信息。
报错代码
示例
public class Test{
public String toString(){
//想要打印此对象地址,但是报错
return “对象地址”+this.toString();
}
}
当调用toString()方法时,这里其实是想返回对象的地址,但是this不是String对象,就会调用toString()方法,形成无法停止的递归调用。在这里可以将this改为super,即使用super的toString方法,避免报错。