java学习笔记--基础知识--访问修饰符

已经研究过多次,过后就又忘记了,今天记录一下

 

访问限制
修饰符同类同包同包子类不同包不同包子类
public
protected 可?
friendly   
private    

 

修饰符说明
public共有的,对所有类可见。
protected受保护的,对同一包内的类和所有子类可见。
private私有的,在同一类内可见。
默认的在同一包内可见。默认不使用任何修饰符。

标为红色2个可,含义是不一样的:

同包子类的实现中可以访问父类的protected方法,子类的实例也能访问父类的protected方法(子类和父类在同一个包中)。

不同包子类的实现中,可以访问父类的protedted方法,但是无法通过子类的实例去访问父类的protected方法。(其实这个也好理解,即使你的子类继承了其他包中的父类,而且没改写父类的protected方法,那么这个protected方法还是定义在父类中,在其他包中访问类的protected方法本来就是不允许的。)

 

friendly可以理解为包权限,只有在同一个包中才能访问。

如果定义了2个class,他们位于同一个文件夹下,且他们都没有定义package,那这2个class可以访问对方的friendly成员吗?  答案是可以的,因为对于没有定义package,且处于同一个文件夹的类都会被归为 默认包。

 

 

访问控制和继承

请注意以下方法继承(不了解继承概念的读者可以跳过这里,或者点击 Java继承和多态 预览)的规则:

  • 父类中声明为public的方法在子类中也必须为public。

  • 父类中声明为protected的方法在子类中要么声明为protected,要么声明为public。不能声明为private。

  • 父类中默认修饰符声明的方法,能够在子类中声明为private。

  • 父类中声明为private的方法,不能够被继承

 

 

 

 

修饰符的使用范围
 publicprotectedfriendlyprivate
普通类
内部类
接口    

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值