笔记
hiding the implementation
这句话讲得很好:
In any relationship, it's important to have boundaries that are respected by all parties involved.
不管你们是什么关系,有一个彼此尊重的界限是很重要的。
#----
CLASSPATH(要大写,最好加上当前目录.):
java 解释器会在以下两个地方查找.class文件:
1. jdk所在的标准目录
2. 路径 = 以CLASSPATH为根目录 + package(如:net.libk)中点换成/\后(如:net/\libk)
#----
public > protected(∵包含package权限) > package > private
#----
package net.libk; 这说明当前这个class要在CLASSPATH/net/libk下面
#----
singleton pattern: 只能创建类的一个实例/对象。
将constructor定义为private的,使得client programmer 不能创建对象, 然后定义一个private static成员变量指向该类的一个实例,
再创建一个public static method 返回这个private static field.
如:
class Singleton {
private Singleton() {};
private static instance = new Singleton();
pubic static Singleton access () {
return instance;
}
}
#----
如果import进来的类库发生重名冲突, 就用全称来解决冲突
java.util.Vector v = new java.util.Vector();
#----
compiling unit:
一个.java源文件。 compiling unit 里面可以有都个class, 但最多只能有一个public class, 如果有public class,
那文件名也必须同这个class名相同, 其它的class就成了这个public class的辅助类
#----
class的 access specifier 只有public 和 package两种。(inner class 除外)