学习 JAVA 第六天 ---- 访问控制权限

本贴最后更新于 2833 天前,其中的信息可能已经事过景迁

关于想法

宝宝下来以后,莫名的感觉交好运了,跟江苏 EMS 签合同了,跟考研机构续签合同了,但是压力也大了,这个月 18 号前要出四个工程初期版本.合同才签下来,我踏马胆子是真的肥.

访问控制权限

讲实话,看见标题的时候我觉得就是讲 public,protect 和 private,翻看一看的确是,本准备走马观花,发现入坑不能自拔...废话不多说,上干货.

  1. 访问控制的作用:
    为了实现类可以作为一个轮子一般的存在,使得外界只能调用他而不会改变他,这样在开发这个类的时候就可以随心所欲,而不需要担心调用这个类或方法的地方会不会出错.

  2. 包:库单元注意点

类在初始化的时候本应该全限定名调用(java.util.ArrayList),但是有了 import 机制,就可以在类头(package)下面 import 这个类,那么应为下面的防止重名机制的作用,你在这边使用 ArrayList 的话,编译器就知道你用的是哪个。所以可以直接用 ArrayList 来进行构造.

防重名机制:一个 Java 源代码文件叫做一个编译单元,在一个编译单元中,public 修饰的类有且只有一个,并且这个类还必须是与所在的编译单元的文件名相同(不包括.java),那么这样就保证,因为同一个 package 下面文件名不能重复,所以保证类不会重名.注意:这边的是public修饰的类只有一个,而不是类中构造器方法神马的

  1. 包访问权限
  • public

与其他语言一样的作用,就不多做介绍

  • protected

主要作用:是的只有继承的类才可以调用,如下所示
gunClass 类

输出:

fucking init fucking init 我向你开了一枪
  • private (敲黑板,重点来了)

首先大家都知道用 private 修饰的类或方法,外面都调用不了,那么想一个问题,如果把一个编译单元的类的构造方法给用 private 修饰了,意义何在?存在又有什么用?这个时候想到前面一个修饰词,static,想一下,虽然 private 修饰的类外面不能调用,但是我自己可以调用自己啊,那么也就是,如果编译单元中有一个 static 修饰的方法,就可以实现初始化自己并返回的功能,那么重点来了,前面已经学过,static 修饰的类或方法,包括方法中的变量,从声明的角度讲,无论调用多少次也只会一次声明,简单点说,就是地址上只有一块且不会 发生改变.那么这种现象就叫做 单例模式,话不多说,上代码
被修饰的 singleChair 类:

输出:

我是构造器,我被private限定了 chair_One.height = 30 chair_One.width = 40 chair_Two.height = 30 chair_Two.width = 40

好了,关于访问权限控制差不多就说这么多,有误之处还望赐教

吐槽

根本不让抱小孩好么,我是他爸爸啊
宝宝天天举着左手想干嘛?
为什么新生儿会蜕皮啊?
话说今天还要去上班,不废话了

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3190 引用 • 8214 回帖
  • 日记
    69 引用 • 278 回帖 • 1 关注

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • yangyujiao via macOS

    我好奇。楼主是做什么工作的???

  • 其他回帖
  • someone

    讲真,我还是个学生,兼职的话,一家软件公司的项目经理和几家考研机构的数据结构讲师….[em02][em02]

  • someone

    仿佛看到大拿在向我招手[em02]

  • berrycool

    我有反射我怕谁,一切控制符都是渣

  • 查看全部回帖

推荐标签 标签

  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 605 关注
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 65 回帖 • 446 关注
  • 一些有用的避坑指南。

    69 引用 • 93 回帖 • 2 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 73 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖 • 1 关注
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    86 引用 • 122 回帖 • 626 关注
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1436 引用 • 10057 回帖 • 489 关注
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 22 关注
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    166 引用 • 595 回帖 • 1 关注
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    55 引用 • 85 回帖
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 594 关注
  • gRpc
    11 引用 • 9 回帖 • 73 关注
  • danl
    148 关注
  • CodeMirror
    1 引用 • 2 回帖 • 133 关注
  • 招聘

    哪里都缺人,哪里都不缺人。

    190 引用 • 1057 回帖
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 488 关注
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    167 引用 • 1521 回帖
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    132 引用 • 1114 回帖 • 121 关注
  • V2Ray
    1 引用 • 15 回帖 • 1 关注
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    20 引用 • 7 回帖 • 3 关注
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 634 关注
  • V2EX

    V2EX 是创意工作者们的社区。这里目前汇聚了超过 400,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。

    17 引用 • 236 回帖 • 314 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    30 引用 • 96 回帖 • 1 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 24 关注
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    23 引用 • 32 回帖
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖 • 1 关注