本文主要向大家介绍了JAVA语言关于组合的使用介绍,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。
组合(Composition),java代码复用的一种方法。顾名思义,就是使用多个已有的对象组合为一个功能更加复杂强大的新对象。体现的是整体与部分、拥有的关系。又因为在对象之间,各自的内部细节是不可见的,所以我们也说这种方式的代码复用是黑盒式代码复用。
如下面Bath(洗澡)与Soap(肥皂)的关系,Soap可以是Bath过程的一部分。
class Soap{
private String s;
public Soap() {
// TODO Auto-generated constructor stub
System.out.println("Soap()");
s="Constructor";
}
public String toString(){
return s;
}
}
public class Bath {
private String s1="happy",s2="happy",s3,s4;
private Soap castille;
private int i;
private float toy;
public Bath(){
System.out.println("Inside Bath()");
s3="Joy";
toy=3.14f;
castille=new Soap();
}
{i=47;}
public String toString(){
if(s4==null)
s4="Joy";
return
"s1 = "+s1+"\n"+
"s2 = "+s2+"\n"+
"s3 = "+s3+"\n"+
"s4 = "+s4+"\n"+
"i = "+i+"\n"+
"toy = "+toy+"\n"+
"castille = "+castille+"\n";
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Bath x= new Bath();
System.out.println(x);
}
}
/* output
Inside Bath()
Soap()
s1 = happy
s2 = happy
s3 = Joy
s4 = Joy
i = 47
toy = 3.14
castille = Constructor
*/
注释:toString(),一般显示输出该类型时会自动调用,每一个非基本类型的对象都有一个toString()方法。Object类的toString方法返回一个包含该类的对象是一个实例的名称字符串的符号` @”和符号进制表示的对象的哈希码。即如果注释掉Soap()的toString方法后,最后一行输出的内容为“castille = thinkinginjava7_.Soap@3d012ddd”,故重写该方法。
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!