Aggregation in Java is a special form of association. It is the relationship between two classes. It is a HAS-A relationship and a one-way association. If a class has entity references, it is called an aggregation.
For example: There are two classes Studentclass and Addressclass, which represent students and addresses respectively. The Studentclass class contains a lot of information, such as: studentId, studentName, etc., and also contains an Addressclass class. The Addressclass class has its own information, such as country, provincial capital, city, etc. As shown below:
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){ ...... } }
In this case, the Studentclass class has an entity reference to the Addressclass class; and
Each student has a specific address, so the relationship between students and addresses is A Has-A relationship, that is: Student Has-A Address
Why use aggregation?
Because it can maintain the reusability of code.
For example, based on the two classes Student and Address in the above example, two other classes College and Staff are used, which represent colleges and staff.
To have addresses for students, college addresses, and staff, now, we don't need to use the same code again and again; we just need to reference the Address class when defining each class.
Therefore, we can improve the reusability of code by using aggregation relationships.
Aggregation example
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(); } }
Rendering:
Summary: The above is this The entire content of this article, I hope it will be helpful to everyone's study.
The above is the detailed content of What is aggregation in java. For more information, please follow other related articles on the PHP Chinese website!