面试题:Java 中的访问修饰符有哪些?

在Java中,访问修饰符用于定义类、方法、变量以及构造函数的访问级别,控制它们是否可以被其他代码访问。Java提供了四种主要的访问修饰符,按照从最严格到最宽松的顺序分别是:

  1. private(私有的)
    • 只能在声明它的类内部访问。
    • 适用于希望隐藏实现细节,只允许在类内部进行操作的情况。
  2. default(默认的,也称为包级私有)
    • 当没有明确指定访问修饰符时,默认使用此级别。
    • 允许在同一包内的任何类中访问,但对于不同包中的类不可见。
    • 适用于仅限于包内使用的组件。
  3. protected(受保护的)
    • 在同一包内的类可以访问,不同包中的子类也可以访问。
    • 主要用于需要允许子类覆盖或访问父类成员的场景。
  4. public(公共的)
    • 对所有类都公开,没有任何访问限制。
    • 适用于希望对外暴露的功能或属性。

使用示例

  • private 示例:
  public class MyClass {
      private int privateVar = 1;
      private void privateMethod() {
          // 方法体
      }
  }
  • default 示例(无显式修饰符即为默认):
  class DefaultClass {
      int defaultVar = 1;
      void defaultMethod() {
          // 方法体
      }
  }
  • protected 示例:
  public class MyProtectedClass {
      protected int protectedVar = 1;
      protected void protectedMethod() {
          // 方法体
      }
  }
  • public 示例:
  public class MyPublicClass {
      public int publicVar = 1;
      public void publicMethod() {
          // 方法体
      }
  }

理解这些访问修饰符的区别对于设计良好的API和确保代码的安全性和可维护性至关重要。正确选择合适的访问修饰符可以帮助你隐藏实现细节、防止外部直接修改内部状态,并且提供清晰的接口供其他开发者使用。

THE END
喜欢就支持一下吧
点赞14 分享