Java访问权限修饰词

public protected package private
接口访问权限、继承访问权限、包访问权限、你无法访问

Java访问权限修饰词的使用可分为两部分:对类的修饰和对类成员的修饰
:方法中的局部变量不能加上访问权限修饰词。因为局部变量的有效范围是在方法内,它本身就是一个访问权限的设定,所以加入访问权限修饰词没有意义。

对类的修饰

  • 每一个文件都只能有一个public类,他可以包含众多包访问权限的类。(当然public类的内部是允许有public类的,这个类可以当成一个方法来看,所有修饰词都可以使用。)
  • public类的名称必须完全与该文件的文件名相匹配,包括大小写。
  • 文件内也可以没有public类,此时可以随意对文件命名(但是容易让人在阅读和维护代码时产生混淆)。
  • 不能使用private和protected这两个访问权限修饰词去修饰类。

对类成员的修饰

  • 目的有俩:设定外部可以使用和不可以使用的界限;将接口和具体实现进行分离,这样类库设计者可以更改类的内部工作方式,而不必担心会对调用者产生影响。
  • 建议:类中成员的组织形式可以按照访问权限进行摆放,将public成员置于开头,接着protected、包访问权限、private。这样使用者从头读起可以首先阅读最为重要的部分public(因为可以从文件外部调用它们),等到遇见作为内部实现细节的非public成员时停止阅读。

对Java访问权限的理解

  • private私有构造:不能通过构造器来创建对象。不能被继承。
  • 包访问权限:如果不提供任何访问权限修饰词,则意味着它是“包访问权限”。
  • protected:与继承相关联。基类的创建者会希望有某个特定成员,把对它的访问权限赋予派生类而不是所有类,这时候使用protected。protected也提供包访问权限(即:子类在不同包或同一个包下,都是可以访问protected修饰的内容;其他在同一包下的类可访问protected修饰的内容,不同包下的类不可访问)。
  • public:对访问权限不做限制。

访问权限表格对比

访问权限修饰词同类同包子类不同的包
公开public
受保护protected×
默认没有任何修饰词××
私有private×××

总结

  • 访问权限的控制常被称为是具体实现的隐藏。
  • 把数据和方法包装进类中,以及具体实现的隐藏,常共同被称作是封装。
  • 访问权限控制专注于类库创建者和该类库的外部使用者之间的关系,这种关系也是一种通信方式。
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值