枚举与INSTANCE的使用

时间:2017-06-30 09:19:16

标签: java groovy enums

我遇到了一个用于Cassandra客户端的Groovy代码以及我努力查找有关此模式的任何相关信息,并希望对此使用枚举以及INSTANCE关键字的作用进行一些解释。

enum CassandraClient {
INSTANCE

Cluster cluster
Session session
CQLDataLoader cqlDataLoader
String contactPoint = "contactPoint"
String username = "username"
String password = "password"

private CassandraClient() {
    cluster = Cluster.builder().addContactPoint(contactPoint).withCredentials(username, password).build()
    session = cluster.connect()
    cqlDataLoader = new CQLDataLoader(session)
}
}

1 个答案:

答案 0 :(得分:4)

这是单例模式的实现。实际上是为了有效的Java"通过Joshua Block(一本非常好的书),这是以这种方式实现单身人士的最佳方式。

INSTANCE是实际单枚举元素,它是单例实例。