java基础篇之 public、private、protect、default的区别


public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不
      仅可以跨类访问,而且允许跨包(package)访问。
private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以
      及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、
     属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
default:即不加任何访问修饰符,通常称为“默认访问模式”。该模式下,只允许在同一个包中进行访问。

============================================================================

*private:

*可以用来修饰内部类、变量、方法,但是不可以修饰构造函数和外部类。
被private修饰的变量或者内部类只能在本类中被调用,而无法被其他类调用。
其他类想要调用此变量时,只能通过公共的接口方法调用。
被private修饰的方法也只能在本类中被调用,而无法被其他类调用,而且此
方法无法被重写和覆盖。

*default:

*可以用来修饰类、变量、方法。
无论是修饰类、变量还是方法,其访问原则只有一个:同一个包底下就
可以访问,不在同一个包底下就无法访问。

*protected:

*可以用来修饰内部类、变量和方法,不可以修饰外部类。
被protected修饰的内部类、变量和方法可以被自己的子类访问(不在
同一个包下也可以),也可以被同一个包下的类访问,即使两者没有继承关
系。

*public:*可以随便被访问,且构造函数只能由public修饰。

补充:(状态修饰符)

**static:**表示静态的,可以用来修饰内部类、变量、方法,不可以修饰外部类。
static修饰变量,该类实例化的任何一个对象对该变量的修改都会改变该变量的值
static修饰的方法只能调用静态内部类、静态变量和静态方法
static修饰的类为静态类。

**final:**用于修饰类、变量、方法。
修饰类的时候表示该类为最终类,不可以被继承(即无法拥有子类)
修饰变量的时候,表示该变量为常量,初始化之后无法改变他的值
修饰方法的时候,表示该方法为最终方法,无法被重写和继承。

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值