1. 泛型
2. 語言只是實現目標的工具,而不是目標本身。
——詹姆斯·高斯林
3. string類中的substring方法為前開後閉的
4. 不要使用 == 比較兩個字串,這個運算子只能夠確定兩個字串是否放在同乙個位置上,完全有可能將內容相同的多個字串的拷貝放置在不同的位置上。
使用s.equals(t)來比較兩個字串是否相等
s和t既可以是字串變數,也可以是字串常量。
例如:"hello".equals(greeting)
不區分大小寫檢測兩個字串是否相等,使用equalsignorecase方法。
例如:"hello".equalsignorecase("hello")
5. 關於main()函式
main( )方法所在的類不一定要是public的,你可以在所有類中都定義乙個main( )方法,執行的時候只會執行命令列所呼叫的那個類的main( )方法. 這種在每個類中都設定乙個main( )方法的技術可使每個類的單元測試都變得簡便易行。而且你在完成單元測試之後,也無需刪除main( ),你可以將其留待下次測試。
在eclipse中執行的是你的主類people, 如果你people類沒有主函式肯定無法執行,你要是一定執行a類的話,按照以下方法可以執行
public class people
class a
6. 繼承最重要的方面是用來表現新類和基類之間的關係,這種關係可以用「is-a」來表達即「新類是基類的一種型別」。
對比:組合關係表示的是「has-a」(有乙個)的關係
如何實現新類和基類這種關係:
向上轉型
將匯出類的引用轉換為基類的引用的動作,稱為向上轉型。
由匯出類轉型成基類,在繼承圖上是向上移動的,因此一般稱為向上轉型。
匯出類是基類的乙個超集,向上轉型從乙個較專用的型別向較通用的型別轉換,所以是很安全的,編譯器在「未曾明確表示轉型」或「未曾指定特殊標記」的情況下,任然允許向上轉型。
組合與繼承選擇何種方式? 確實需要向上轉型時,才使用繼承;否則,使用組合。
Java學習筆記 1
1 在類中的位置不同 成員變數 類中方法外 區域性變數 方法定義中或者方法宣告上 2 在記憶體中的位置不同 成員變數 在堆中 區域性變數 在棧中 3 生命週期不同 成員變數 隨著物件的建立而存在,隨著物件的消失而消失 區域性變數 隨著方法的呼叫而存在,隨著方法的呼叫完畢而消失 4 初始化值不同 成員...
java學習筆記1
public class aaa 結果為 a,b,c012 1 a,b,c 0public class aaa void f1 char x void f1 short x void f1 int x void f1 long x void f1 string x void f2 char x vo...
Java學習筆記1
1.泛型 2.語言只是實現目標的工具,而不是目標本身。詹姆斯 高斯林 3.string類中的substring方法為前開後閉的 4.不要使用 比較兩個字串,這個運算子只能夠確定兩個字串是否放在同乙個位置上,完全有可能將內容相同的多個字串的拷貝放置在不同的位置上。使用s.equals t 來比較兩個字...