【问题标题】:what is diffrence between private access modifier and no access modifier in java?java中私有访问修饰符和无访问修饰符有什么区别?
【发布时间】:2015-11-26 21:38:22
【问题描述】:

对于未使用的成员,eclipse 使用私有访问修饰符给我一个警告“该字段的值未使用”。如果修饰符已更改为 public 或没有修饰符,则没有警告。

这让我很困惑。默认修饰符在 java 中是不公开的。 如果修饰符已更改为私有且没有修饰符,则 Eclipse 会更改警告。一定有区别。

【问题讨论】:

    标签: java eclipse oop access-modifiers


    【解决方案1】:

    private - 只有类本身可以访问它

    package-private - 没有指定修饰符。只有同一个包中的类可以访问它

    【讨论】:

      【解决方案2】:

      默认修饰符也称为“包私有”,这意味着只有同一个包中的类可以访问它。

      【讨论】:

        【解决方案3】:

        如果一个类没有修饰符默认,也称为包私有),那么它只能在自己的包中可见。所以变量有机会在其他类中使用。

        其中 private 意味着您只能在同一类中使用它。如果您不在同一个类中使用它,则根本没有使用它,并且您的 IDE 也是如此。

        【讨论】:

          【解决方案4】:

          Eclipse 只为私有成员发出警告的原因是因为这是 Eclipse 可以确定确定该成员是否未使用的唯一情况。 Eclipse 只知道存在于同一工作空间中的代码,因此无法确定当前工作空间之外的其他代码是否使用了publicprotected 或“默认”可见成员。 private 成员不可能在类外使用,因此 Eclipse 可以做出“未使用”的确定。

          【讨论】:

            猜你喜欢
            • 2011-01-15
            • 2014-11-03
            • 2017-12-22
            • 2011-01-31
            • 2014-08-27
            • 1970-01-01
            • 2017-06-04
            • 2021-08-25
            • 2015-03-28
            相关资源
            最近更新 更多