Groovy:包作用域构造函数

Groovy:包作用域构造函数,groovy,Groovy,可以在GroovyBeans中创建包范围的构造函数吗 如果我从构造函数中删除public,那么默认情况下,它将成为一个公共构造函数 我阅读了关于@PackageScope注释的内容,但它不允许我将其应用于构造函数 我希望在Groovy bean中使用包作用域构造函数的原因是,强制Java代码使用相应的bean构建器来实例化Groovy bean类,而不是依赖Groovy bean的构造函数。构建器是独立的类,与Groovy bean位于同一个包中 谢谢。完成。看起来很简单 受保护的声音如何 我用

可以在GroovyBeans中创建包范围的构造函数吗

如果我从构造函数中删除
public
,那么默认情况下,它将成为一个公共构造函数

我阅读了关于
@PackageScope
注释的内容,但它不允许我将其应用于构造函数

我希望在Groovy bean中使用包作用域构造函数的原因是,强制Java代码使用相应的bean构建器来实例化Groovy bean类,而不是依赖Groovy bean的构造函数。构建器是独立的类,与Groovy bean位于同一个包中

谢谢。

完成。看起来很简单

受保护
的声音如何

我用三个文件编写了一个示例:a.Foo.java、b.Hidden.groovy、b.NoProblem.java:

package b;

public class NoProblem {
    Hidden hid = new Hidden(); // Compiles fine
}
a、 Foo.java:

package a;

import b.Hidden;

public class Foo {
    Hidden hid = new Hidden(); // Not compiling with: 
                               // "The constructor Hidden() is not visible"
}
b、 Hidden.groovy:

package b

class Hidden {
    protected Hidden() {
    }
}
b、 NoProblem.java:

package b;

public class NoProblem {
    Hidden hid = new Hidden(); // Compiles fine
}

谢谢你的信息!那是一个令人沮丧的。。。我在Maven项目中使用Groovy Eclipse编译器插件,目前我可以使用的最高版本是2.3.4。但是,即使如此,2.4仍然是测试版。