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 除外)