Java 访问权限控制修饰符

概述

Java 中的四种访问权限控制修饰符:private、包访问权限(没有关键字)、protected、public 。

其中访问权限(没有关键字)这种情况用default表示。

详细介绍

private 限制最严格,限制到该类的内部,表示该类的成员只能在该类的内部访问。

default 限制到包级别,表示该类的成员可以被类的内部、同包下的任意类访问。

protected 限制到子类级别,表示该类的成员可以被类的内部、同包下的任意类、不同包下的子类访问。

public 不进行限制,表示该类的成员可以被类的内部、同包下的任意类、不同包下的任意类访问。

控制范围

本类(private),同包(default),继承访问(protected),任何位置(public)

依据访问范围由小到大,可以看出 private < default < protected < public 

扫描二维码关注公众号,回复: 6628955 查看本文章

使用范围

外部类可用的访问控制修饰符:default、public

内部类可用的访问控制修饰符:private、default、protected 、public

成员变量可用的访问控制修饰符:private、default、protected 、public 

成员方法可用的访问控制修饰符:private、default、protected 、public

构造方法可用的访问控制修饰符:private、default、protected 、public

问题

为什么外部类的访问控制不能用 private 或者 protected ?

  private 假如可以修饰外部类,表示该类不能被其他类访问,没有意义,那么这个类毫无用处。

  protected 假如可以修饰外部类,需要看这个外部类上一层是什么?是包,而包与包之间是没有继承概念的,所以也不可以修饰外部类。

猜你喜欢

转载自www.cnblogs.com/wjx-star/p/11088994.html
今日推荐