Java 接口中可以有 protected 属性吗?

Java 接口中可以有 protected 属性吗?

属性受限访问权限的 Java 接口

原本,Java接口的属性是 public Static final 的,但你给出的接口 Runner 中的 id 属性却声明为 protected。这是为什么呢?

protected 访问权限允许子类访问接口的属性,而其他类只能通过 getter 和 setter 方法访问。在这个例子中,Runner 接口的 id 属性在子类中是可见的。

为了了解这一点,我们来看看 Java 中属性和接口的规则:

立即学习Java免费学习笔记(深入)”;

  • 接口中的属性默认是 public static final 的,这意味着它们是常量,存储在接口本身中。
  • 不过,Java 8 引入了一个例外,允许接口声明非 final 的 protected 属性。这些属性只能被接口子类访问。
  • 因此,Runner 接口中的 id 属性是一个 protected 的非 final 属性,允许其子类访问和修改它。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容