详述访问权限

关于访问权限有四个关键字:public,protected,友好的,private

  • public:public是最大的访问权限修饰符,其修饰的成员变量、构造方法和普通方法可在任何一个类中被操作或使用;
  • protected:protected修饰的成员变量、构造方法和普通方法可以在其定义类中、与定义类同包的其它类(可以使子类)中和与定义类不同包但是其子类的类中使用;
  • friendly:默认(友好的)修饰的成员变量、构造方法和普通方法可以在其定义类中和与定义类同包的其它类(可以使子类)中使用;
  • private:private是最小的访问权限控制符,其修饰的成员变量、构造方法和普通方法只能在定义它们的类中被操作或使用

他们的权限的顺序为:public>protected>友好的>private

且在继承与否,同包与否时有这样的一个表格来告诉我们是否可以使用。

 

由表格可见,private只能在同类中使用。private不能跨类使用,更不要提同包和不同包的情况了。

由下向上看,友好的,friendly在同包中可以无论继承和非继承都可以使用。在不同包的情况下是不可以使用的。

我们再看public,显然public还是很厉害的他在任何情况下都可以使用。

我们最后来看这个protected,在同包情况下是可以顺畅使用的,在不同包非继承的境况下,是不可以使用的,我们要讨论的就是不同包继承的情况下,protected应该怎么使用。

如果protected修饰的属性和方法均为非静态的,则只能通过子类实例化对象调用其继承过来的属性和方法,而不能使用父类实例化的对象去调用;如果protected修饰的属性和方法均为静态的,则子类可以通过类(子类类名或父类类名)名直接调用。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值