Java 中的 protected 访问修饰符你真的了解吗?

时间:2023-07-21 14:52:49

protected Java 中的 protected 访问修饰符

总结

在同一个包中,类中 protected 或 default 修饰的属性或方法可以在类外被其对象 (实例) 外部访问,也可以被子类继承。此时,protected 或 default 的访问级别与 public 相同。

在不同的包中,类中 protected 修饰的属性或方法在类外不可以被其对象 (实例) 外部访问,可以被子类继承。类中 default 修饰的属性或方法在类外不可以被其对象 (实例) 外部访问,不可以被子类继承,此时 default 如同 private。

所以 Java 包的作用域会影响 protected 和 default 的访问限制。在同一个包中 protected 或 default 相当于 public;在不同的包中 protected 恢复原有的特性,而 default 则被提升为 private。

讲解

  • 两个包中分别有不同的类,结构如下:

Java 中的 protected 访问修饰符你真的了解吗?

Java 中的 protected 访问修饰符你真的了解吗?

Java 中的 protected 访问修饰符你真的了解吗?

  • 在同一个包中,类中 protected 或 default 修饰的属性或方法可以在类外被其对象 (实例) 外部访问,也可以被子类继承。此时,protected 或 default 的访问级别与 public 相同。

Java 中的 protected 访问修饰符你真的了解吗?

Java 中的 protected 访问修饰符你真的了解吗?

  • 在不同的包中,类中 protected 修饰的属性或方法在类外不可以被其对象 (实例) 外部访问,可以被子类继承。类中 default 修饰的属性或方法在类外不可以被其对象 (实例) 外部访问,不可以被子类继承,此时 default 如同 private。

Java 中的 protected 访问修饰符你真的了解吗?

Java 中的 protected 访问修饰符你真的了解吗?

  • 所以 Java 包的作用域会影响 protected 和 default 的访问限制。在同一个包中 protected 或 default 相当于 public;在不同的包中 protected 恢复原有的特性,而 default 则被提升为 private。

Java 四种访问修饰符对比

Java 中的 protected 访问修饰符你真的了解吗?