多构造器的学生管理程序 要求:将学生、班级等抽象为类,分配各个类的职责,完成各种功能。 创建Student类和ClassInfo类,该两个类均包含多个构造方法; 在StudentManager类的main方法中创建上面两个类的对象,输出学生的相关信息。 用java编写
时间: 2024-10-14 15:10:26 浏览: 23
在Java中,我们可以设计一个多构造器的学生管理程序来满足这个需求。首先,我们创建`Student`类,它有基础信息如姓名和学号,同时为了支持多种类型的特性,可以设计多个构造函数。
```java
public class Student {
private String name;
private int studentID;
// 构造函数一:基本属性
public Student(String name) {
this.name = name;
studentID = 0; // 默认值或其他初始化方式
}
// 构造函数二:带学号
public Student(String name, int studentID) {
this.name = name;
this.studentID = studentID;
}
// getters and setters
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getStudentID() {
return studentID;
}
public void setStudentID(int studentID) {
this.studentID = studentID;
}
}
```
接着,我们创建`ClassInfo`类,表示班级信息,同样有多个构造方法:
```java
public class ClassInfo {
private String className;
private List<Student> students;
// 构造函数一:基本属性
public ClassInfo(String className) {
this.className = className;
students = new ArrayList<>();
}
// 构造函数二:带学生列表
public ClassInfo(String className, List<Student> students) {
this.className = className;
this.students = students;
}
// 添加学生方法
public void addStudent(Student student) {
students.add(student);
}
// 获取学生列表方法
public List<Student> getStudents() {
return students;
}
// getters and setters for className
}
```
现在,我们创建`StudentManager`类,用于管理和操作学生和班级:
```java
public class StudentManager {
public static void main(String[] args) {
// 创建学生实例
Student student1 = new Student("张三");
Student student2 = new Student("李四", 1001);
// 创建班级并添加学生
ClassInfo class1 = new ClassInfo("一班");
class1.addStudent(student1);
ClassInfo class2 = new ClassInfo("二班", Arrays.asList(student2));
// 输出学生信息
System.out.println("学生1信息:" + student1.getName());
System.out.println("学生2信息:" + student2.getName() + " 学号:" + student2.getStudentID());
// 输出班级信息
System.out.println("一班学生:" + class1.getStudents().toString());
System.out.println("二班学生:" + class2.getStudents().toString());
}
}
```
在这个程序中,`StudentManager`的`main`方法展示了如何使用不同的构造函数创建`Student`和`ClassInfo`对象,并展示它们的信息。这实现了对不同类型学生和班级的管理。
阅读全文