java 多例_Java多例设计模式实例详解
时间: 2023-12-02 16:02:08 浏览: 51
Java多例(也称为多重实例)是一种设计模式,它允许一个类创建多个实例,但限制了实例的数量,通常在系统中只需要有限个数的实例。在Java中,可以使用枚举类型、静态代码块、静态方法等方式来实现多例。
下面是一个使用枚举类型实现的Java多例实例:
```java
public enum DatabaseConnection {
INSTANCE1("jdbc:mysql://localhost:3306/db1", "user1", "password1"),
INSTANCE2("jdbc:mysql://localhost:3306/db2", "user2", "password2"),
INSTANCE3("jdbc:mysql://localhost:3306/db3", "user3", "password3");
private String url;
private String username;
private String password;
private DatabaseConnection(String url, String username, String password) {
this.url = url;
this.username = username;
this.password = password;
}
public Connection getConnection() {
Connection conn = null;
try {
conn = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
}
```
在该实例中,我们使用枚举类型定义了三个实例,每个实例都有不同的url、username和password。通过getInstance方法获取实例,getConnection方法获取数据库连接。
```java
public class Test {
public static void main(String[] args) {
Connection conn1 = DatabaseConnection.INSTANCE1.getConnection();
Connection conn2 = DatabaseConnection.INSTANCE2.getConnection();
Connection conn3 = DatabaseConnection.INSTANCE3.getConnection();
// ...
}
}
```
在测试类中,我们可以通过getInstance方法获取不同的实例,并使用getConnection方法获取对应的数据库连接。
总的来说,Java多例模式可以有效地控制实例的数量,同时提供统一的访问接口,方便对实例进行管理和控制。