经常看到的就是
@Override
public String toString() {
return "point [a=" + a + ", b=" + b + ", s=" + s + "]";
}
toString方法是Object中的一个重要方法,它会返回表示对象的一个字符串。
package test2;
public class Mywork {
public static void main(String[] args) {
// TODO 自动生成的方法存根
point p = new point(10,20,"Jack");
System.out.println(p);
}
}
class point{
int a;
int b;
String s;
public point(int a, int b, String s) {
super();
this.a = a;
this.b = b;
this.s = s;
}
}
这里直接输出是输出不出来的(和String s;的关系不大,即使没有这个字符串,只有整型也输出不出来),但是如果加上toString方法。
package test2;
public class Mywork {
public static void main(String[] args) {
// TODO 自动生成的方法存根
point p = new point(10,20,"Jack");
System.out.println(p);
//System.out.println(p.toString());也可以
}
}
class point{
int a;
int b;
String s;
public point(int a, int b, String s) {
super();
this.a = a;
this.b = b;
this.s = s;
}
@Override
public String toString() {
return "point [a=" + a + ", b=" + b + ", s=" + s + "]";
}
}
这个时候就可以返回值。
toString方法的return里面有什么,System.out.println()就能输出什么。
还有只要对象与一个字符串通过操作符“+”连接起来,java编译器就会自动调用toString方法来获得这个对象的字符串描述,虽然我不知道这个有什么用,我也还没搞清楚这个是啥。
package test2;
public class Mywork {
public static void main(String[] args) {
// TODO 自动生成的方法存根
point p = new point(10,20,"Jack");
System.out.println(p.toString());
//比上面代码多的地方
String s = "what "+p;
System.out.println(s);
}
}
class point{
int a;
int b;
String s;
public point(int a, int b, String s) {
super();
this.a = a;
this.b = b;
this.s = s;
}
@Override
public String toString() {
return "point [a=" + a + ", b=" + b + ", s=" + s + "]";
}
}