1. 四大权限修饰符

public,private,default,protected是java的四大修饰符,下面分别主要介绍四者之间的区别:


1.1 public(公共的)

说明:

public是权限最大的修饰符,他可以修饰类,成员变量,成员方法,构造方法。被public修饰后,可以再任何一个类中,不管同不同包,任意使用


1.2 private(私有的)

说明:

private可以修饰成员变量,成员方法,构造方法,不能修饰类(此刻指的是外部类,内部类不加以考虑)。被private修饰的成员只能在其修饰的本类中访问,在其他类中不能调用,但是被private修饰的成员可以通过set和get方法向外界提供访问方式。


1.3 default(默认的)

说明:

defalut即不写任何关键字,它可以修饰类,成员变量,成员方法,构造方法。被默认权限修饰后,其只能被本类以及同包下的其他类访问。


1.4 protected(受保护的)

说明:

protected可以修饰成员变量,成员方法,构造方法,但不能修饰类(此处指的是外部类,内部类不加以考虑)。被protected修饰后,只能被同包下的其他类访问。如果不同包下的类要访问被protected修饰的成员,这个类必须是其子类。


1.5 作用范围:

同一个类同一个包不同包的子类不同包的非子类
pubulic(公共的)🐕🐕🐕🐕
protected(受保护的)🐕🐕🐕
default(默认的)🐕🐕
private(私有的)🐕

公保默私


1.6 总结

从作用域来看,public能够使用所有的情况。但是大家在工作的时候,又不会真正全部都使用public,那么到底什么情况该用什么修饰符呢?

  1. 属性通常使用private封装起来。
  2. 方法一般使用public用于被调用。
  3. 会被子类继承的方法,通常使用protected。
  4. default用的不多,一般新手会用default,因为还不知道有修饰符这个东西。

再就是作用范围最小原则:

简单说,能用private就用private,不行就放大一级,用package(default),再不行就用protected,最后用public。这样就能把数据尽量的封装起来,没有必要露出来的,就不用露出来了。



Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐