博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《java编程思想》学习笔记—访问权限控制
阅读量:6343 次
发布时间:2019-06-22

本文共 1348 字,大约阅读时间需要 4 分钟。

hot3.png

1、重构时考虑的一个问题:如何把变动的事物与保持不变的事物区分开来。

为了解决这一问题,java提供了访问权限修饰词:public,protected,包访问权限(没有关键词)和private

2、作为一名类库设计人员,应尽可能将一切方法都定为private,而仅向客户端程序员公开你愿意让他们使用的方法。

3、如何将构建捆绑到一个内聚的类库单元?

java用关键字package加以控制,而访问权限修饰词会因类是存在于一个相同的包,还是存在于一个单独的包而受到影响。

6.1包:库单元

1、当编写一个java源代码文件时,此文件通常被称为编译单元(有时也被称为转译单元),每个编译单元都必须有一个后缀.java,而在编译单元内则可以有一个public类,该类的名称必须与文件的名称相同。每个编译单元只能有一个public类。

6.1.1代码组织

1、当编译个一.java文件时,在.java文件中的每个类都会有一个输出文件,而该输出文件的名称与.java文件中每个类的名称相同,只是多了一个后缀名.class。

2、java运行程序是一组可以打包并压缩为一个java文档文件(jar)的.class文件。java解释器负责这些文件的查找,装载和解释。

3、如果使用package语句,它必须是文件中除注释以外的第一句程序代码。java包的命名规则全部使用小写字母,包括中间的字也是如此。

6.1.2创建独一无二的包名

1、将所有的文件收入一个子目录可以解决以下问题:

(1)将特定包的所有.class文件都置于一个目录下。

(2)创建独一无二的名称以及查找有可能隐藏于目录结构中某处的类。

2、java解释器的运行过程如下:首先,找出环境变量CLASSPATH。CLASSPATH包含一个或多个目录,用作查找.class文件的根目录。从根目录开始,解释器获取包的名称并将每个句点替换成反斜杠,以从CLASSPATH根中产生一个路径名称。解释器就会在这些目录中查找与你所要创建的类名称相关的.class文件。

6.1.3定制工具库

6.1.4用import改变行为

6.1.4对使用包的忠告

包的名称对应目录路径

6.2java访问权限修饰词

6.2.1包访问权限

1、默认访问权限没有任何关键字,但通常是指包访问权限。

6.2.3private:你无法访问

1、除非必须公开底层实现细节(此种境况很少见),否则就应该将所有的域指定位private。

6.2.3protected:继承访问权限

1、可以被继承自己的类访问

6.3接口和实现

1、访问权限的控制常被称为是具体实现的隐藏。把数据和方法包装进类中,以及具体实现的隐藏,常共同被称作是封装。

2、访问权限控制将权限的边界划在子数据类型的内部。原因如下:

(1)要设定客户端程序员可以使用和不可以使用的界限。

(2)接口和具体实现进行分离。

6.4类的访问权限

1、类既不可以是private。所以对于类的访问权限,仅有两个选择:包访问权限或public。如果不希望其他任何人对该类拥有访问权限,可以把所有的构造器都指定为private。

转载于:https://my.oschina.net/u/2427561/blog/1544486

你可能感兴趣的文章
里氏替换原则(设计模式原则2)
查看>>
lamp一键安装
查看>>
解决“iOS 7 app自动更新,无法在app中向用户展示更新内容”问题
查看>>
OpenCV——Haar-like特征
查看>>
HttpWebResponse发送post请求并接收
查看>>
python 相对路径和绝对路径的区别
查看>>
Day36 python基础--并发编程基础5
查看>>
《Python从小白到大牛》第6章 数据类型
查看>>
三层架构的是与非
查看>>
lucene bug的报告经历
查看>>
火狐访问HTTPS网站显示连接不安全的解决方法
查看>>
防火墙(一)主机型防火墙
查看>>
基于哈夫曼编码的压缩算法的实现
查看>>
sed tr
查看>>
FTP文件传输服务器(详解)
查看>>
ERROR OGG-01172 Discard file (/oradata/gglog/repl.dsc) exceeded max bytes (500000000).
查看>>
Activiti 实战篇 小试牛刀
查看>>
java中的Static class
查看>>
Xshell 连接CentOS服务器解密
查看>>
[工具类]视频音频格式转换
查看>>