JAVA第五周學習總結
阿新 • • 發佈:2019-03-31
.cn 分配內存 指定元素 類圖 互轉 不可 key 空間 uml類圖
本周學習
UML類圖
基本類型與引用類型變量
接口
多態
UML圖
1.UML圖中的符號表示
- private在類圖中用符號-表示;
- public在類圖中用符號+表示;
- protected在類圖中用符號#表示。
2.用UML圖表示各類及接口之間的關系
- 繼承關系(extends):
空心三角箭頭的實線表示,由子類指向父類,或者由子接口指向父接口。 - 實現關系(implements):
空心三角箭頭的虛線表示,從類指向實現的接口。 - 依賴關系(該類在某方法中使用到某類):
類A指向類B的帶箭頭虛線表示。 - 關聯關系(該類引用了某類作為全局變量:
類A指向被關聯類B的帶箭頭實線表示,在關聯的兩端可以標註關聯雙方的角色和多重性標記。 - java設計模式—UML類圖
3.UML圖建模工具
- 推薦五個免費UML建模工具
- 回到頂端
基本類型與引用類型變量
1.八種基本數據類型+三種引用類型
2.補充說明
- java庫中的幾個類
- Object :
- Object是類層次結構的根類,每個類都使用Object作為超類。
- 所有對象(包括數組)都實現這個類的方法。
- 用Object可以定義所有的類 。
- String :
- String類代表字符串。Java 程序中的所有字符串字面值(如"abc")都作為此類的實例來實現。
- 檢查序列的單個字符、比較字符串、搜索字符串、提取子字符串、創建字符串副本、在該副本中、所有的字符都被轉換為大寫或小寫形式。
- string和int的相互轉化。
String a = "21";int b = Integer.parseInt(a);//String 轉int int a = 21; String b = String.valueOf(a);//int轉String
- Date :
- Date表示特定的瞬間,精確到毫秒。Date的類一般現在都被Calendar 和GregorianCalendar所有代替 。
- Void :
- Void 類是一個不可實例化的占位符類,它保持一個對代表 Java 關鍵字 void 的 Class 對象的引用。
- Object :
- java庫中的幾個接口interface
- List
:列表 ,此接口的用戶可以對列表中每個元素的插入位置進行精確地控制。用戶可以根據元素的整數索引 在列表中的位置)訪問元素,並搜索列表中的元素。List 接口提供了兩種搜索指定對象的方法。從 性能的觀點來看,應該小心使用這些方法。在很多實現中,它們將執行高開銷的線性搜索。 List 接 口提供了兩 種在列表的任意位置高效插入和移除多個元素的方法。 - add() : 在列表的插入指定元素。
- remove():移除列表中指定位置的元素。
- get(int index):返回列表中指定位置的元素。
- Map<K,V>: K - 此映射所維護的鍵的類型 ; V - 映射值的類型 將鍵映射到值的對象。一個映射不能包含重復的鍵;每個鍵最多只能映射到一個值。
- put(K key,V value):將指定的值與此映射中的指定鍵關聯(可選操作)。如果此映射以前包含一個該鍵的映射關系,則用指定值替換舊值(當且僅當,返回 true 時,才能說映射 m 包含鍵 k 的映射關系)。
- remove(Object key):如果存在一個鍵的映射關系,則將其從此映射中移除(可選操作)。更確切地講,如果此 映射包含從滿足(key==null ? k==null :key.equals(k))的鍵 k 到值 v 的映射關系,則移除該映射關系。(該映射最多只能包含一個這樣的映射關系。)
- get(Object key):返回指定鍵所映射的值;如果此映射不包含該鍵的映射關系,則返回 null。
- List
3.區別
- 從概念上說:
- 基本數據類型:變量名指向具體的數值;
- 引用數據類型:變量名指向存數據對象的內存地址,即變量名指向hash值。
- 從內存構建方面來說:
- 基本數據類型:變量在聲明之後java就會立刻分配給他內存空間;
- 引用數據類型:它以特殊的方式(類似C指針)指向對象實體(具體的值),這類變量聲明時不會分配內存,只是存儲了一個內存地址。
- 從使用方面來說:
- 基本數據類型:使用時需要賦具體值,判斷時使用“==”號;
- 引用數據類型:使用時可以賦null,判斷時使用equals方法。
- 回到頂端
接口
- [java接口|菜鳥教程](http://www.runoob.com/java/java-interfaces.html)
- [回到頂端](#jump0 )
多態
**面向對象編程有三大特性:**<span style="color:red">封裝、繼承、多態。
- 封裝隱藏了類的內部實現機制,可以在不影響使用的情況下改變類的內部結構,同時也保護了數據。對外界而已它的內部細節是隱藏的,暴露給外界的只是它的訪問方法。
- 繼承是為了重用父類代碼。兩個類若存在IS-A的關系就可以使用繼承。,同時繼承也為實現多態做了鋪墊。
- 多態是指允許不同類的對象對同一消息做出響應。即同一消息可以根據發送對象的不同而采用多種不同的行為方式。(發送消息就是函數調用)
1.多態存在的三個必要條件:
- 繼承
- 在多態中必須存在有繼承關系的子類和父類。
- 重寫
- 子類對父類中某些方法進行重新定義,在調用這些方法時就會調用子類的方法。
- 父類引用指向子類對象(向上轉型)
- 在多態中需要將子類的引用賦給父類對象,只有這樣該引用才能夠具備技能調用父類的方法和子類的方法。
2.多態的實現方式:
- 重寫
- 接口
- 抽象類和抽象方法
3.多態的優點:
- 消除類型之間的耦合關系
- 可替換性
- 可擴充性
- 接口性
- 靈活性
- 簡化性
- 回到頂端
第六章代碼
JAVA第五周學習總結