java中任何类文件中模块变量的最佳访问修饰符?

java中任何类文件中模块变量的最佳访问修饰符?,java,private,public,protected,Java,Private,Public,Protected,好的,让我从下面的例子开始,以得到一个简单的例子 public class ClassA{ ______ static final String MODULE = "[ClassA]"; } 空白处,我遇到过很多代码片段,它有时有public或protected或private,但不明白哪一个是最好的,为什么?我知道protected最适合子类实现,但子类有模块变量 基本上,模块用于日志记录活动,例如 System.out.println(MODULE+"given message"); 简

好的,让我从下面的例子开始,以得到一个简单的例子

public class ClassA{
______ static final String MODULE = "[ClassA]";
}

空白处,我遇到过很多代码片段,它有时有

public
protected
private
,但不明白哪一个是最好的,为什么?我知道
protected
最适合
子类
实现,但
子类
模块
变量

基本上,
模块
用于日志记录活动,例如

System.out.println(MODULE+"given message");
简而言之,使用哪种方式访问是最好的

基本上,
模块
用于日志记录活动

然后我建议将它设置为私有的,因为它不会在类外使用(假设其他类有类似的
静态的
常量)。

像任何东西一样,您应该为它提供最严格的访问级别

如果只在类内使用,请使用
private
。如果仅在包内使用,请使用包访问。如果可以在子类中使用,请使用
protected
。如果任何人都可以使用,请使用
public


这适用于每种编程语言中的每一个类成员-它决不是特定于Java中名为
MODULE
的字段。

@bigdestroyer拥有一个
受保护的静态
类变量是完全有效的。
protected
关键字是访问修饰符。其目的是将此变量的访问权授予其他包中的子类。@bigdestroyer同意上述意见