TIJ摘要:访问控制权限
- 重构的原动力之一:发现有更好的方式去实现相同的功能。
- OOP需要考虑的基本问题:如何把变动的事物与不变的事物区分开来。
- 访问控制权限:以供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的。访问控制的等级,从最大权限到最小权限依次为:public、protected、包访问权限和private。
- 由于名字之间的潜在冲突,在Java中对名称空间进行完全控制并为每个类创建唯一的标识符就成了非常重要的事情。
- 每个编译单元只能有一个public类,否则编译器就不会接受。如果在该编译单元之中还有额外的类的话,那么在包之外的世界是无法看见这些类的,这是因为它们不是public类,而且它们主要是用来为主public类提供支持。
- 当编译一个.Java文件时,在.java文件中的每个类都会有一个输出文件,而在该输出文件的名称与.java文件中的每个类的名称相同,至少多了一个后缀名.class。
- java可运行程序:是一组可以打包并压缩为一个java文档文件(JAR,使用java的jar文档生成器)的.class文件。
- 类库实际上是一组类文件。
- 如果使用package语句,它必须是文件中除注释外的第一句程序代码。
- java包的命名规则全部使用小写字母,包括中间的字也是如此。
- package和import关键字允许你做的,是将单一的全局名字空间分割开,使无论多少使用Internet以及java开始编写类,都不会出现名称冲突问题。
- java解释器的运行过程如下:首先,找出环境变量CLASSPATH(可以通过操作系统来设置,有时也可以通过通过安装程序—用来在你的机器上安装Java或给予java的工具—来设置)。CLASSPATH包含一个或多个目录,用作查找.class文件的根目录。从根目录开始,解释器获取包的名称并将每个句点替换成反斜杠,以从CLASSPATH根中产生一个路径名称。得到路径名称会与CLASSPATH中的各个不同的项相链接,解释器就在这些目录中查找与你所要创建的类名称相关的.class文件。
- C的条件编译:一般情况下,源程序中所有的行都参加编译,但有时希望对其中的一部分内容只是在满足一定条件下才进行编译,即对一部分内容指定编译条件。java中没有条件编译。
- 默认访问权限没有任何关键字,但通常是指包访问权限。这就意味着当前包中的所有其他类对那个成员都有访问权限,但对于这个包之外的所有类,这个成员却是private。
- 不要错误地认为java总是将当前目录视为查找行为的起点之一。
- private的一个用处, 用private标记构造函数,这样就可以控制如何创建对象,并阻止别人直接访问某个特定的构造器。这样的方式可以实现单例模式。
- 对于类中的域,除非必须公开底层实现细目,否则就应该将所有的域指定为private.
- 出于两个很重要的原因,访问权限控制将权限的边界划在了数据类型的内部。第一个原因是要设定客户端程序员可以使用和不可以使用的界限。第二个原因即将接口和具体实现相分离。
版权声明:本文为博主原创文章,未经博主允许不得转载。
TIJ摘要:访问控制权限的更多相关文章
- public/private/protected访问控制权限的区别
//public/private/protected访问控制权限的区别//时间:2016/8/16 //(一)修饰成员: //public: 在类内.类外都能使用 . //protected: 在类内 ...
- Java——private default protected public访问控制权限
访问控制权限 protected范例
- Java 多态 父类和子类方法的访问控制权限
Java 多态 父类和子类方法的访问控制权限 @author ixenos 父类和子类方法的访问控制权限 继承是为了扩展类的功能,而这种扩展显然就是对一个原始类的扩展,目的还是向上转型来调用,所以这就 ...
- Java基础 -- 访问控制权限
一 包:库单元 假设我们存在两个类名相同的类,如果没有一定的措施对其进行区分,就会无法区别到底使用的是哪一个类.因此java引入了包来进行名字空间管理. 包(类库)包含有一组类,这些类在单一的名字空 ...
- Cmd下修改文件访问控制权限
保证自己的磁盘分区格式是NTFS.FAT32是不行的. 一.Cacls.exe命令的使用 这是一个在Windows 2000/XP/Server 2003操作系统下都可以使用的命令,作用是显示或者修改 ...
- Java面向对象-访问控制权限
Java面向对象-访问控制权限 Java中,可以通过一些Java关键字,来设置访问控制权限: 主要有 private(私有), package(包访问权限),protected(子类访问权限),pub ...
- this、static、main方法、静态代码块、final关键字、Runtime类、Cloneable类、类成员的访问控制权限、异常体系
this表示当前对象,用在方法内部,当某对象调用该方法时,该方法中的this就代表调用该方法的对象: static关键字: 修饰类属性后,该属性就成为该类所有实例的公共属性,修改该属性值,所有的实例的 ...
- Java访问控制权限
在Java中一共存在四种访问控制权限,即 private.default(默认).protected和public 1.private 访问权限 private属于私有访问权限,可以用在属性的定义.方 ...
- Java类成员访问控制权限
类成员访问控制权限 在JAVA中有四种访问控制权限,分别为:private, default, protected, public 1.Private 如果一个成员方法或变量名前使用了private, ...
随机推荐
- library-type:fr-unstanded vs fisrt-stand vs second-stanrd
建库时是否是链特异性建库. Tophat2: --library-type The default is unstranded (fr-unstranded). If either fr-firsts ...
- 理解$watch、$apply与$digest
Angular环境 浏览器里面有一个事件队列(event queue),用户触发啥事儿,或者网络请求,延时操作(例如定时器之类),都是一个event,浏览器会轮询这些事件,然后调用这些回调(这里的回调 ...
- POJ 3159 最短路 SPFA
#include<iostream> using namespace std; const int nMax = 30005; const int mMax = 150005; const ...
- 使用shell统计字符串出现的次数,并从大到小进行排序显示
- 【P2774】方格取数问题(贪心+最大流,洛谷)
首先,我们要读懂这道题,否则你会和我一开始产生一样的疑问,把所有的数都取走剩下一个最小的不就可以了么???然后我们发现样例完全不是这么回事.题目中所说的使相邻的两个数没有公共边,是指你去走的数,也就是 ...
- codevs1907 方格取数 3
«问题描述:在一个有m*n 个方格的棋盘中,每个方格中有一个正整数.现要从方格中取数,使任意2 个数所在方格没有公共边,且取出的数的总和最大.试设计一个满足要求的取数算法.«编程任务:对于给定的方格棋 ...
- Python词云的中文问题
image= Image.open('F:/__identity/course/建模/九寨沟地震/四川地图.jpg') fig = plt.figure(figsize=(20, 16)) graph ...
- 智课雅思词汇---十六、前缀hyper和hypo是反义词
智课雅思词汇---十六.前缀hyper和hypo是反义词 一.总结 一句话总结: hypertension 过度紧张:高血压(hyper+tension紧张) hypotension 低血压 1.ep ...
- 经典分水岭算法的 C++ 实现
这个程序是研一下学期的计算机视觉课程大作业,完成于 2013/06/16,是对 Soille 和 Vincent(1991)提出的模拟浸没的分水岭算法的实现,详见下面的报告. 源码托管在 Github ...
- 按键(ESC ,F1,F2等)——wpf的命令处理方法
WPF窗体的命令绑定 方法一:使用代码 <WpfUI:View.CommandBindings> <CommandBinding Command="Help" ...