访问控制符有几个,分别是什么

4个

public /protected/默认/private

访问控制修饰符

public和private

  • private修饰的成员变量和方法仅仅只能在本类中调用;
  • public修饰的成员变量和方法可以在任何地方调用。
  • public修饰的内容是对外提供可以被调用的功能,需要相对稳定;
  • private修饰的内容是对内实现的封装,如果“公开“会增加维护的成本。
public class Point{
    private int x;
  private int y;
  Point(int x,int y){...}
  public int distance(Point p){...}
}
... ... ...
Point p1 = new Point(1,2);
Point p2 = new Point(3,4);
p1.x = 100
//The field Point.x is not visible
int d = p1.distance(p2);
... ... ...

protected和默认访问控制

  • 用protected修饰的成员变量和方法可以被子类及同一个包中的类使用。
  • 默认访问控制即不书写任何访问控制修饰符。默认访问控制的成员变量和方法可以被同一个包中的类调用

访问控制符修饰类

  • 对于类的修饰可以使用public和默认方式。public修饰的类可以被任何一个类使用;默认访问控制的类只可以被同一个包中的类使用。
  • protected和private可以用于修饰内部类。

访问控制符修饰成员

  • 访问控制符修饰成员时的访问权限如下表所示
修饰符 本类 同一个包中的类 子类 其他类
public 可以访问 可以访问 可以访问 可以访问
protected 可以访问 可以访问 可以访问 不能访问
默认 可以访问 可以访问 不能访问 不能访问
private 可以访问 不能访问 不能访问 不能访问
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容