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