原创

java面试题-Java访问权限修饰符详解及应用场景

在Java编程中,访问权限修饰符(public、private、protected和默认)用于控制类、方法、变量等的可访问性。本文将深入讨论每个权限修饰符的特性、区别以及在不同场景下的应用,以帮助初学者更好地理解和运用这些关键字。

1. public修饰符

  • 当前类: 可访问
  • 同包类: 可访问
  • 子类: 可访问
  • 其他包类: 可访问

public修饰符表示被修饰的成员对所有类可见,是最宽泛的访问权限。通常用于声明接口、类、方法等,对外提供公共访问点。

示例代码:

public class PublicExample {
    public int publicVar;

    public void publicMethod() {
        // 方法实现
    }
}

2. protected修饰符

  • 当前类: 可访问
  • 同包类: 可访问
  • 子类: 可访问
  • 其他包类: 不可访问

protected修饰符表示被修饰的成员对同一包内的类和所有子类可见,但对于其他包的类不可见。常用于实现类的继承和封装。

示例代码:

public class ProtectedExample {
    protected int protectedVar;

    protected void protectedMethod() {
        // 方法实现
    }
}

3. 默认(包内可见)修饰符

  • 当前类: 可访问
  • 同包类: 可访问
  • 子类: 不可访问
  • 其他包类: 不可访问

默认修饰符表示被修饰的成员对同一包内的类可见,对于其他包的类不可见。当没有明确指定修饰符时,默认使用默认修饰符。

示例代码:

class DefaultExample {
    int defaultVar;

    void defaultMethod() {
        // 方法实现
    }
}

4. private修饰符

  • 当前类: 可访问
  • 同包类: 不可访问
  • 子类: 不可访问
  • 其他包类: 不可访问

private修饰符表示被修饰的成员仅对当前类可见,对其他类不可见。常用于实现类的封装,防止外部直接访问内部实现。

示例代码:

public class PrivateExample {
    private int privateVar;

    private void privateMethod() {
        // 方法实现
    }
}
正文到此结束
本文目录