Groovy相当于java';不带访问修饰符的s声明

Groovy相当于java';不带访问修饰符的s声明,java,groovy,access-modifiers,Java,Groovy,Access Modifiers,因此,我可以在Groovy中将一个类声明为: //groovy-code class Person { } 这相当于用java编写类似于: //java-code public class Person { } 只是出于好奇。。groovy与用java编写的代码的等效性是什么: //java-code class Person { } 我的意思是,有没有一种方法可以实现我在Java中通过声明一些不带访问修饰符的东西而实现的相同功能?因为Java中类的默认访问修饰符是“包私有的”,我认

因此,我可以在Groovy中将一个类声明为:

//groovy-code
class Person {

}
这相当于用java编写类似于:

//java-code
public class Person {

}
只是出于好奇。。groovy与用java编写的代码的等效性是什么:

//java-code
class Person {

}

我的意思是,有没有一种方法可以实现我在Java中通过声明一些不带访问修饰符的东西而实现的相同功能?

因为Java中类的默认访问修饰符是“包私有的”,我认为Groovy中最接近相同行为的方法就是将类设置为“包受保护的”这是通过注释完成的:

@PackageScope class Person {

}

顺便说一句,Groovy中有一个(特性?)阻止任何类型的“私有”可见性工作。计划为Groovy v3.0实现。

第三个是java代码,第一个是Groovy代码。这是唯一的区别,因为两者很接近。但这是否意味着如果我想在groovy中使用一个没有访问修饰符的Java类,我就不能?或者groovy将如何处理它?您可以,但在编译时它将被视为
public
。“但这是否意味着如果我想在groovy中使用一个没有访问修饰符的Java类,我不能?”。不需要。使用Groovy中没有访问修饰符的Java类的方式与从Java中使用它们的方式完全相同。语法也一样。PackageScope注释仅与定义类相关,而不使用其他类。有关专用字段/方法,请参见:链接的jira票证现在似乎已被删除