Java中的私人和公开声明

时间:2014-03-09 14:58:26

标签: java oop

在Java中,

  • 何时将对象声明为“私人决赛”,
  • 何时将对象声明为“公共”?

在以下代码段中,String regex被声明为Private final

  • 是否意味着它只能在班级RegexExcludePathFilter
  • 中使用
  • 为什么accept可以声明为public
  • 固有的设计考虑因素是什么?

enter image description here

4 个答案:

答案 0 :(得分:0)

regex只能在类本身的方法(不是孩子)中读取(不写,final)。 任何人都可以调用public方法。设计目标是公开一些其他人使用的方法,以定义什么是入口点,即API。 private用于内部行为。

答案 1 :(得分:0)

acceptpublic方法,因为它是类外部接口或契约的一部分。 regex成员是private,因为它是一个实现细节,并且没有必要从课外访问它。 换句话说,与该类所做的 what 相关的任何事情都应该是公开的。与如何类有关的事情应该保持私有,因此可以在不影响班级用户的情况下进行更改。

答案 2 :(得分:0)

  

何时声明一个对象为“私有最终”,何时声明一个   对象为“公共”?

如果变量/方法仅在该类中使用,则使用私有访问修饰符声明它,如果其他类应使用字段/方法,则使用public声明它。

  

在以下代码段中,String regex被声明为Private   最终

     

是否意味着它只能在课堂上使用   RegexExcludePathFilter?

是的,私人会员只能在他们宣布的班级内访问。

  

为什么接受可以宣布为公开。

可以从其他课程中使用它。

  

固有的设计考虑因素是什么?

一切都与信息隐藏有关。

答案 3 :(得分:0)

最终课程无法延期。必须在实例化类时初始化最终变量,或者它们在静态初始化程序或内联中是静态的。最终变量通常是您需要的常量。