提示信息

Java多对多关系示例

爱上 已关注

下面是一个Java多对多关系的示例:

  1. // 学生类
  2. public class Student {
  3. private int id;
  4. private String name;
  5. private List<Course> courses;
  6. public Student(int id, String name) {
  7. this.id = id;
  8. this.name = name;
  9. this.courses = new ArrayList<>();
  10. }
  11. public void addCourse(Course course) {
  12. courses.add(course);
  13. course.addStudent(this);
  14. }
  15. // getter和setter方法
  16. // ...
  17. }
  18. // 课程类
  19. public class Course {
  20. private int id;
  21. private String name;
  22. private List<Student> students;
  23. public Course(int id, String name) {
  24. this.id = id;
  25. this.name = name;
  26. this.students = new ArrayList<>();
  27. }
  28. public void addStudent(Student student) {
  29. students.add(student);
  30. student.addCourse(this);
  31. }
  32. // getter和setter方法
  33. // ...
  34. }
  35. // 使用示例
  36. public class Main {
  37. public static void main(String[] args) {
  38. Student student1 = new Student(1, "Alice");
  39. Student student2 = new Student(2, "Bob");
  40. Course course1 = new Course(1, "Math");
  41. Course course2 = new Course(2, "English");
  42. student1.addCourse(course1);
  43. student1.addCourse(course2);
  44. student2.addCourse(course1);
  45. student2.addCourse(course2);
  46. System.out.println(student1.getCourses()); // 输出[course1, course2]
  47. System.out.println(student2.getCourses()); // 输出[course1, course2]
  48. System.out.println(course1.getStudents()); // 输出[student1, student2]
  49. System.out.println(course2.getStudents()); // 输出[student1, student2]
  50. }
  51. }

在这个示例中,StudentCourse之间存在多对多的关系。Student类中有一个List类型的属性courses,表示学生所选的课程。Course类中也有一个List类型的属性students,表示选择该课程的学生。当学生选择一门课程时,会将该课程添加到courses列表中,并且这门课程也会将该学生添加到students列表中。这样就建立了一个多对多的关系。

在使用示例中,我们创建了两个学生对象和两门课程对象,并且通过调用addCourse方法建立了学生和课程之间的关系。最后,我们打印出学生所选的课程和课程所选的学生,验证了多对多关系的正确性。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
爱上 关注 已关注

最近一次登录:2023-10-09 13:09:27   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图