java中聚合是什么
程序员文章站
2022-03-27 20:27:44
...
java中聚合是一种特殊的关联形式,它是两个类之间的关系,是一种HAS-A关系,是一种单向关联。如果类具有实体引用,则称为聚合。
举个例子:在一个有这么两个类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(); } }
效果图:
总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。
以上就是java中聚合是什么的详细内容,更多请关注其它相关文章!
上一篇: php如何利用内存作为缓存使用
推荐阅读
-
Java中静态代码块、构造代码块、构造函数、普通代码块
-
Eclipse中Java自定义注解模板详解
-
利用反射获取Java类中的静态变量名及变量值的简单实例
-
php中{}大括号是什么意思
-
在eclipse中编写HDFS的Java程序
-
详解Java多线程编程中LockSupport类的线程阻塞用法
-
thinkphp中$this->reset && session($key, null); 这种写法是什么意思?
-
Java中运行环境搭建的图文教程实例
-
PHP中冒号、endif、endwhile、endfor这些都是什么,endwhileendfor_PHP教程
-
解析Java的Jackson库中对象的序列化与数据泛型绑定