不会 会调用类型的toString()方法 public class test{ static String o = ""; public static void main(String[] args){ Test temp = new Test(); o = o + temp; System.out.println(o); } } class Test{ public String toString(){ return "toString"; } }
java里面String是一个对象,而你的x=2是个int型数,当然会报错static String o =""; o =o+2的话会编译错误int x=2; o=o+x的话会不会报错
public class Test { static String o=""; { o=o+"2"; } public static void main(String[] args) { System.out.println(o);//打印出来的还是""值 int x=2; o=o+x; System.out.println(o);//打印出来"2" } } 像这样就可以了,但是语句块中对字符串o的修改没有起到作用,只有把该语句放到方法里面才能修改成功,这就是java的语法规则。
会调用类型的toString()方法
public class test{ static String o = "";
public static void main(String[] args){
Test temp = new Test(); o = o + temp;
System.out.println(o);
}
}
class Test{
public String toString(){
return "toString";
}
}
o =o+2的话会编译错误int x=2;
o=o+x的话会不会报错
static String o="";
{
o=o+"2";
}
public static void main(String[] args) {
System.out.println(o);//打印出来的还是""值
int x=2;
o=o+x;
System.out.println(o);//打印出来"2"
}
}
像这样就可以了,但是语句块中对字符串o的修改没有起到作用,只有把该语句放到方法里面才能修改成功,这就是java的语法规则。