例子是某某正在什么地方钓鱼
代码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方法,所以这个方法最好重写.!