Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将枚举与实例一起使用_Java_Groovy_Enums - Fatal编程技术网

Java 将枚举与实例一起使用

Java 将枚举与实例一起使用,java,groovy,enums,Java,Groovy,Enums,我遇到了一段Cassandra客户机的Groovy代码,以及我为查找有关此模式的任何相关信息所做的努力,如果能解释一下如何使用枚举以及INSTANCE关键字的作用,我将不胜感激 enum CassandraClient { INSTANCE Cluster cluster Session session CQLDataLoader cqlDataLoader String contactPoint = "contactPoint" String username = "username" St

我遇到了一段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)
}
}

这是singleton模式的一个实现。实际上,根据Joshua Block(一本非常好的书)的“有效Java”,用这种方式实现单例是最好的方法


INSTANCE
是作为单实例的实际单枚举元素。

看起来像单实例