學習Java的筆記(4)
來源:互聯網
上載者:User
91、包命名:小寫字母,使用順序反過來的網域名稱。
92、包內的類需聲明為public,否則不屬於此包的方法無法使用它。
93、採用JAR檔案方便維護和安裝,一個JAR檔案往往包含多個包,Sun J2SE所提供的標準類放在rt.jar中
。
94、J2SE提供工具軟體jar來產生JAR檔案:
jar cvf <jar file> <class file>
jar cmvf <manifest> <jar file> <class file> 用m來包含自訂的說明(manifest)檔案
Manifest.mf。
95、將建立的包輸入進來:用import com.mycompany.shape.*;非import com.mycompany.shp;另外還需將
此JAR檔案包含在類路徑中,在Windows中需要設定:SET CLASSPATH=.;shapr.jar。或者可以使用:java
-classpath <class path> <class file>
96、由於和對象相關的變數屬於參考型別,使用obj1=obj2;obj1隻是得到一份obj2應用的副本,而不是
obj2對象本身。
97、使用clone()來複製一個對象,clone()從Object類繼承。obj1=obj2.clone();obj2必須是可複製的
。
98、為了使一個使用者自訂的類對象可被複製,必須使用介面Cloneable,並聲明一個public方法clone()
來執行複製工作。
99、若要完成深度複製(deep copy)(包含所參考的對象和其相關的對象),則需根據對象間的階層關係
一層層地複製下去。
100、Reflection又稱introspection,因為它允許執行中地Java程式來進行自我檢查,可以得到一個對象
所屬類定義的成員及相關的資料,這是Java特有的功能。
101、Reflection提高像功能指標一樣的功能,可在程式執行時才動態提高所以執行的類對象方法名稱與
所要輸入的參數。
102、首先得到一個Class對象,有兩種方法
由既存類對象,使用getClass()得到一個類對象,如obj.getClass();
使用Class.forName(String className)
103、其次,使用Class提供的方法來得到該類的相關資料
String getName(); 用來得到該類的名稱
Method[] getDeclaredMethods(); 得到所有在該類內所聲明的方法名稱
Method[] getMethods(); 得到所有在該類的方法名稱,包含由父類繼承的方法
Method getMethod(String methodName, Class[] parameterTypes); 得到一個Method對象
104、最後,使用Method所提供的方法來執行所要執行的方法