例子是某某正在什么地方钓鱼
代码1:
public class TestToString {
public static void main(String[] args) {
Person p = new Person("张三", new Site("高唐北湖"));
p.angling();
}
}
class Person {
private String name;
private Site site;
public Person(String name, Site site) {
this.name = name;
this.site = site;
}
public void angling() {
System.out.println(this + "正在" + site + "钓鱼!");
}
@Override
public String toString() {
return this.name;
}
}
class Site {
private String name;
public Site(String name) {
this.name = name;
}
@Override
public String toString() {
return this.name;
}
}代码2:
class Person {
private String name;
private Site site;
public Person(String name, Site site) {
this.name = name;
this.site = site;
}
public void angling() {
System.out.println(this + "正在" + site + "钓鱼!");
}
}这里仅仅将人这个类拿出来了, 运行后的结果不同在于代码1有toString方法,代码2中没有.通过运行结果可以得出,直接写对象名默认调用的是toString方法,所以这个方法最好重写.!
本文探讨了Java中对象的打印行为,默认情况下直接输出对象地址而非有意义的信息。通过重写toString方法,可以使输出更具可读性,特别是当涉及到对象状态展示时。
444

被折叠的 条评论
为什么被折叠?



