Java:学生选课系统。文件CourseDB.java:单例类,模拟数据库中的课程,初始化后至少封装10门课程;
时间: 2024-02-13 20:01:26 浏览: 26
好的,这是一个简单的CourseDB.java文件示例,实现了一个模拟数据库中课程的单例类,可以初始化至少10门课程:
```java
import java.util.ArrayList;
import java.util.List;
public class CourseDB {
// 单例模式,保证只有一个实例
private static CourseDB instance = null;
private List<Course> courses;
// 构造函数私有化,保证外部无法直接实例化
private CourseDB() {
courses = new ArrayList<>();
// 初始化至少10门课程
courses.add(new Course("001", "Java基础", "张三", 3));
courses.add(new Course("002", "Java高级", "李四", 4));
courses.add(new Course("003", "面向对象设计", "王五", 3));
courses.add(new Course("004", "数据结构与算法", "赵六", 4));
courses.add(new Course("005", "数据库原理", "钱七", 3));
courses.add(new Course("006", "计算机网络", "孙八", 4));
courses.add(new Course("007", "操作系统", "周九", 3));
courses.add(new Course("008", "编译原理", "吴十", 4));
courses.add(new Course("009", "软件工程", "陈十一", 3));
courses.add(new Course("010", "人工智能", "刘十二", 4));
}
// 获取单例实例
public static CourseDB getInstance() {
if (instance == null) {
synchronized (CourseDB.class) {
if (instance == null) {
instance = new CourseDB();
}
}
}
return instance;
}
// 获取所有课程
public List<Course> getCourses() {
return courses;
}
}
```
在这个示例中,采用了双重检查锁定的方式实现单例模式,保证了线程安全。CourseDB类中定义了一个List类型的courses属性,用于存储课程信息。在构造函数中初始化至少10门课程,通过公开的getCourses()方法,可以获取所有课程的列表。这个类可以被其他模块调用,提供课程信息的访问服务。