这是Groovy'中的一个缺陷吗;Singleton模式的s实现?

这是Groovy'中的一个缺陷吗;Singleton模式的s实现?,groovy,singleton,Groovy,Singleton,不使用元类的单例模式的直接实现: class A{ static final instance = new A() private A(){} static getInstance(){return instance} } 为什么groovy不尊重私有构造函数?尽管我们可以凭直觉判断它是一个单一的模式,但与java不同,这样的实现并不限制程序员在这个类的范围之外使用newa()创建这个类的新实例。那么,这不应该被视为其实现中的一个缺陷吗?这是当前Groovy实现中的

不使用元类的单例模式的直接实现:

class A{
    static final instance = new A()
    private A(){}

    static getInstance(){return instance}
} 

为什么groovy不尊重私有构造函数?尽管我们可以凭直觉判断它是一个单一的模式,但与java不同,这样的实现并不限制程序员在这个类的范围之外使用
newa()
创建这个类的新实例。那么,这不应该被视为其实现中的一个缺陷吗?

这是当前Groovy实现中的一个缺陷,因此Groovy中没有任何东西是真正私有的。看看它的名字。我最近也写过这篇文章。

这是当前Groovy实现中的一个bug,所以Groovy中没有真正私有的东西。看看它的名字。我最近也写过这篇文章。

您可以将上面的代码替换为:

@Singleton
class A{
} 
并通过以下方式访问singleton实例:

A singleton = A.instance

您可以将上述代码替换为:

@Singleton
class A{
} 
并通过以下方式访问singleton实例:

A singleton = A.instance
你试过使用吗?你试过使用吗?