实例1:组合语法(组合就是一个类中含有另外一个类的引用)
//水源类
public class WaterSource {
private String s;
WaterSource(){
System.out.println("构造器的初始化");
s="concructed";
}
//重写toString 方法
@Override
public String toString() {
return s;
}
}
附上SprinklerSysterm的测试类代码如下:
public class SprinklerSysterm
{
private String valve1,valvel2,valvel3,valvel4;
//复用另一个类的代码
private WaterSource source=new WaterSource();
private int i;
private float f;
//在该类里面重写toString方法
@Override
public String toString() {
System.out.println("SprinklerSysterm的toString方法被调用");
return "SprinklerSysterm{" +
"valve1='" + valve1 + '\'' +
", valvel2='" + valvel2 + '\'' +
", valvel3='" + valvel3 + '\'' +
", valvel4='" + valvel4 + '\'' +
", source=" + source +
", i=" + i +
", f=" + f +
'}';
}
public static void main(String ...args){
//
SprinklerSysterm sprinklerSysterm=new SprinklerSysterm();
System.out.println(sprinklerSysterm);
}
}
附上运行结果:
总结:说明在一个类中的toString方法包含另外一个类的实例,那么也会调用另外那个类的toString方法
注意:平时我们 A a=new A(); Systerm.out.println(a) //如果我们不重写toString的方法这里调用的是Object的toString() ,Object的toString的源代码如下:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
网友评论