java的聚合_java中聚合是什么

java中聚合是一种特殊的关联形式,它是两个类之间的关系,是一种HAS-A关系,是一种单向关联。如果类具有实体引用,则称为聚合。

ab0d1212e80185e74e8bc049e795e019.png

举个例子:在一个有这么两个类Studentclass和Addressclass,它们分别代表学生和地址。Studentclass类中包含有许多信息,比如:studentId、studentName等等,还包含一个Addressclass类。其中Addressclass类中有拥有自己的信息,如国家,省会,城市等。如下所示:class Address

{

String country;

String province;

String city;

.....

}

class StudentClass

{

int studentId;

String studentName;

//创建与Addressclass类的HAS-A关系

Address studentAddr;

StudentClass(int id, String name, Address addr){

......

}

}

在这种情况下,Studentclass类具有实体引用Addressclass类;且

每个学生都有具体一个地址,所以学生和地址之间的关系是一个Has-A关系,即:Student Has-A Address

为什么要使用聚合?

因为可以维护代码的可重用性。

打个比方,在上例的两个类Student和Address的基础上,还有用了另外两个类College,Staff,它们代表学院和工作人员。

为了让学生、学院地址和工作人员都具有地址,现在,我们不需要一次又一次地使用相同的代码;我们只需要在定义每个类时引用Address类就行。

因此,我们可以通过使用聚合关系来提高代码的可重用性。

聚合示例class Address {

String country,province,city;

public Address(String country, String province, String city) {

this.country = country;

this.province = province;

this.city = city;

}

}

public class StudentClass{

int id;

String name;

Address address;

public StudentClass(int id, String name,Address address) {

this.id = id;

this.name = name;

this.address=address;

}

void display(){

System.out.println("="+id+",name="+name);

System.out.println("地址是: "+address.country+","+address.province+","+address.city+"\n");

}

public static void main(String[] args) {

Address address1=new Address("China","Hubei","Wuhan");

Address address2=new Address("China","Hunan","Changsha");

StudentClass Student1=new StudentClass(150,"小明",address1);

StudentClassStudent2=new StudentClass(151,"小华",address2);

Student1.display();

Student2.display();

}

}

效果图:

cee64813a970681c02233d24c82fcc7c.png

总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值