標籤:
1, Java是一種靜態類型、動態綁定的語言。具體來說,每一個對象都是編譯時間確定的良好類型。同時,可以在運行時檢查一個對象究竟是什麼。
2, Java中除了基本數字類型之外,Java中所有的對象都是通過引用來訪問。
3, 跟C++相同,不同的類執行個體的資料是不同的,但是方法都是相同的。
4,所有執行個體變數均被設定為預設值0、false或者NULL。如果使用尚未初始化的對象,將會導致一個執行階段錯誤。
5,命令列運行java/javac時,需要在項目classpath。何為項目classpath,如果代碼中沒有package語句,則classpath為目前的目錄。如果有package語句,則根目錄為根據package上移目錄。如果通過java -d指定了別的output目錄,則運行java class的時候也需要指定classpath到對應目錄。
比如javac self\equal.java, java self.equal
6, jar -cvf abc.jar abc 將abc目錄裡的內容打包為abc.jar
-xvf abc.jar 將abc.jar的內容解壓
-tvf abc.jar 查看abc.jar的內容
-cvmf mypairvalue.mf abc.jar abc 將abc的內容打包,同時設定mypairvalue中的屬性。可以指定Main-Class 為abc.classname,jar包就可以通過java -jar abc.jar 運行
7, 一場包括受查異常(throw聲明的)和非受查異常(RuntimeException和Error的子類),可以通過printStackTrace看到異常的棧軌跡
8, Java的建構函式不能用abstract, synchronized, final修飾
9, 顯示的調用System.gc()方法可以提示記憶體回收行程進行一次清掃。在一個對象被記憶體回收行程刪除之前,其finalize方法會被調用
10, 介面取代了在C++中使用的多重繼承
11, 可以用this在建構函式入口處調用另一個建構函式,也可以通過super在建構函式入口處調用基類的建構函式。因為預設情況下基類的預設建構函式會被隱式調用,super的調用僅用來調用基類帶參數的建構函式。
12, Java的interface中函數預設為public,abstract的,implements該interface的類必須實現所有的函數,否則必須為abstract
13, 可以在任何大括弧間聲明一個類.
p190, 內部類的一個重要用途是建立適配器類。適配器類的作用是綁定至一個類,同時不破壞其封裝性。方法的內部類引用的任何方法的局部變數都必須為final,因為在一次方法的調用中,所建立的所有的內部類執行個體必須看到相同的局部變數。
p199, ==檢查同一性,只有指向同一個對象時猜想等,equals檢查相等性,值相等,就像等
Java學習指南學習筆記