Java当中四种权限刨析( private、default、protected、public)

本文介绍了Java中的四种访问修饰符:private、default(默认)、protected和public,详细阐述了它们的访问范围和使用场景。private限制在同一类内访问,default允许同包内访问,protected扩大到子类和同包,而public则无访问限制。文章通过示例解释了这些修饰符在类、变量和方法上的应用。
摘要由CSDN通过智能技术生成

一、java权限简介

       java当中有4种访问修饰限定符privat、default(默认访问权限),protected以及public。只有默认访问权限和public能够用来修饰类。修饰类的变量和方法四种权限都可以。

  private:如果一个类的方法或者变量被private修饰,那么这个类的方法或者变量只能在该类本身中被访问,在类外以及其他类中都不能显示地进行访问。

       default(默认访问权限):如果一个类的方法或变量被包访问权限修饰,也就意味着只能在同一个包中的其他类中显示地调用该类的方法或者变量,在不同包中的类中不能显示地调用该类的方法或变量。

  protected:如果一个类的方法或者变量被protected修饰,对于同一个包的类,这个类的方法或变量是可以被访问的。对于不同包的类,只有继承于该类的类才可以访问到该类的方法或者变量。

  public:被public修饰的方法或者变量,在任何地方都是可见的。

范围 privatedefaultprotectedpublic
1同一包中的同一类√ 
2同一包中的不同类
3不同包中的子类
4不同包中的非子类

二、举例使用

1.private

 在(1)中当变量age在Person类里定义时被private修饰时,在test1内部需要引用时就会报错。因为age超出了访问权限。而在图(2)当中在class内部的age(this.age指在Person内部的age)使用时可以正常使用。

2.默认权限(default)

 没有被任何修饰符修饰的变量即是默认访问权限,该变量可以在该包里的任意类里使用,

3.protected

 demo中的test2继承了demo1中的test1,而且a被protected修饰。尽管test2和test1不在同一包中,却可以在test1中访问a,刚好符合protected变量的最大访问权限。

4.public

被public修饰的变量在任何位置都可以使用。


注意

1.四种访问权限范围的大小从小到大:private<default(默认访问权限)<protected<public。

2.当定义变量时不加任何修饰会默认为默认权限。

3.在子类中访问父类中的变量时需要用super。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值