[Java编程思想] 第六章 访问权限控制

6.1 包:库单元

包内含有一组类,它们在单一的名字空间之下被组织在了一起。

当编写一个Java源代码文件时,此文件通常被称为编译单元。每个编译单元都必须有一个后缀名.java,而在编译单元内则可以有一个public类,该类的名称必须与文件名称相同,包括大小写,但不包括后缀名.java。每个编译单元必须只能有一个public类,否则编译器就不会接受。如果在该编译单元之外还有额外的类的话,那么在包之外的世界是无法看见这些类的,这是因为它们不是public类,而且它们主要为主public类提供支持。

如果希望这些构件从属同一个群组,可以使用关键字package,且必须在除注释外的第一行。如果想在其它地方使用群组中的任意public类,需要import导入。

package和import要做的就是将单一的全局名字分割开,无论多少人使用都不会出现名称冲突。

6.2 Java访问权限修饰词

默认访问权限没有任何关键字(有时也表示为friendly),但通常是指包访问权限。当前包内所有类对该成员都有访问权限,但包外的类看来,该成员是private。

取得对某成员的访问唯一途径是:

            类内部 本包 子类  外部包
 public       √    √   √    √
 protected    √    √   √    ×
 default      √    √   ×    ×
 private      √    ×   ×    ×

6.3 类的访问权限

请注意,类既不可以是private的(这样会使得除该类外,其他任何类都不可以访问它),也不可以是protected的。(事实上,一个内部类可以是private或protected的,但那是一个特例)
protected继承访问权限,是⽤来修饰类中的属性和⽅法的,不是⽤来修饰类的。假如定义⼀个A类⽤protected修饰,再在与A类不同包的另⼀个包中定义⼀个B类,B类如果要继承A类,前提是B类能够访问到A类。仔细想想就会发现这是冲突的。(你要成为A类的⼦类,你的先访问到A类,但你要访问到A类,那你先得成为A类的⼦类。因为protected修饰的类就是给⼦类访问的)这个逻辑明显是冲突的。

Original: https://www.cnblogs.com/wei-ran/p/16041131.html
Author: 蔚然丶丶
Title: [Java编程思想] 第六章 访问权限控制

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/569890/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • RabbMQ

    RabbitMQ基本概念 Broker: 简单来说就是消息队列服务器实体 Exchange: 消息交换机,它指定消息按什么规则,路由到哪个队列 Queue: 消息队列载体,每个消息…

    Java 2023年6月13日
    049
  • Java代码混淆与Jar包加密处理

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/moonandstar08/p/9873608.html…

    Java 2023年5月29日
    081
  • C#利用反射实现两个类的对象之间相同属性的值的复制

    http://blog.csdn.net/u013093547/article/details/53584591 今天在拷贝对象的时候,看着代码实在是有点烦,一堆一样的代码,还是找…

    Java 2023年5月30日
    067
  • 【万字图文-原创】 | 学会Java中的线程池,这一篇也许就够了!

    碎碎念 关于JDK源码相关的文章这已经是第四篇了,原创不易,粉丝从几十人到昨天的 666人,真的很感谢之前帮我转发文章的一些朋友们。 从16年开始写技术文章,到现在博客园已经发表了…

    Java 2023年5月29日
    089
  • 【设计模式】Java设计模式-模板模式

    Java设计模式 – 模板模式 😄 不断学习才是王道🔥 继续踏上学习之路,学之分享笔记👊 总有一天我也能像各位大佬一样🏆原创作品,更多关注我CSDN: 一个有梦有戏的人…

    Java 2023年6月16日
    088
  • 力扣算法题1.两数之和(Java)

    力扣算法题1.两数之和(Java) 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标…

    Java 2023年6月7日
    0120
  • 推荐一款企业管理专用低代码工具,实现开发系统自由!

    之前分享过很多类型的文章,但是发现大家对低代码相关的文章,兴致还是比较高的,争议也很大。因为不少人认为低代码太草率,但真正的低代码不仅要负责生成代码,还要负责代码的维护,把它当做一…

    Java 2023年6月5日
    0128
  • 正则表达式 匹配小括号中的内容 包括括号和不包括括号

    字符串举例: 床单(30%棉混纺布)勺子(40%铁)碗(99%陶) 期望值:30%棉混纺布 40%铁 99%陶 使用表达式: (\([^\)]*\)) 结&a…

    Java 2023年6月5日
    081
  • 微服务网关Gateway实践总结

    有多少请求,被网关截胡; 一、Gateway简介 微服务架构中,网关服务通常提供动态路由,以及流量控制与请求识别等核心能力,在之前的篇幅中有说过Zuul组件的使用流程,但是当下Ga…

    Java 2023年6月15日
    077
  • LeetCode.1103-向人们分发糖果(Distribute Candies to People)

    这是小川的第 393次更新,第 425篇原创 今天介绍的是 LeetCode算法题中 Easy级别的第 256题(顺位题号是 1103)。我们通过以下方式向一排 n = num_p…

    Java 2023年6月5日
    073
  • java —— 异步任务失败后处理

    场景: 实际项目中,程序操作出了问题,后续要怎么处理是个很重要的问题,如果这个问题是同步操作引起的解决起来比较简单,比如用户注册,如果系统注册失败,后台可以马上返回错误信息,用户也…

    Java 2023年5月29日
    086
  • 排序算法(2)

    排序算法1中,对于选择排序和插入排序进行了介绍,通过代码,可以看出,假设有一个给定的乱序数组,插入排序因为都只能通过交换相邻的元素,于是得到的时间复杂度是相对来说比较高的。从这也可…

    Java 2023年6月5日
    076
  • 【校招VIP】[产品][211][8分]按需求分类书写简历

    关注 【校招VIP】公众号,回复 【简历】,添加 校招顾问微信,即可获取 简历指导! 本份简历是一位 22届一本的产品同学简历,简历评分 8分 一、学员简历 二、指导意见 1 简历…

    Java 2023年6月5日
    085
  • Android自定义控件1

    概述 Android已经为我们提供了大量的View供我们使用,但是可能有时候这些组件不能满足我们的需求,这时候就需要自定义控件了。自定义控件对于初学者总是感觉是一种复杂的技术。因为…

    Java 2023年6月13日
    092
  • 分布式锁的三种实现方式

    上图中,我们部署了两个Tomcat,共同支撑系统。当一个请求到达系统时,首先会经过Nginx,Nginx主要是做负载转发的,它会根据自己配置的负载均衡策略将请求转发到其中的一个To…

    Java 2023年6月13日
    080
  • Dubbo学习

    Dubbo 前言 1.1 大型互联网项目架构目标 1.2 集群和分布式 概念 集群:很多”人”一起,干一样的事。 一个业务模块,部署在多台服务器上。 分布式…

    Java 2023年6月8日
    089
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球