###package 軟件包java
- 類名前加入命名空間(包),解決命名衝突問題。
- 定義格式:
公司域名倒敘.項目名.模塊名
; package語句寫在文件第一行 - 使用
import
語句導入package java.lang; 軟件包下的全部類系統自動導入。 - 編譯
javac -d 生成路徑 java源文件路徑
- 運行
java 完整類名
###內部類 ####基本this
- 定義:類裏面的類。
- 好處:內部類能夠訪問其外部類的私有數據。
- 分爲 :靜態內部類,成員內部類,局部內部類,匿名內部類
####靜態內部類code
- 調用靜態內部類的靜態方法:
OuterClass.InterClass.methods1();
- 調用靜態內部類的成員方法:
InnerClass inner=new OuterClass.InnerClass(); inner.methods2();
####匿名內部類對象
- 定義:沒有名字的類。
- 優勢:少定義一個類。
- 缺點:沒法重複使用。
未採用匿名內部類代碼繼承
package com.test.jinhj; public class SubClass{ public static void testM(CustomerService cs) { cs.logout(); } public static void main(String[] args) { testM(new CustomerService()); } } interface CustomerService{ //退出系統 void logout(); } class CustomerServiceImpl implements CustomerServerce{ public void logout() { System.out.println("退出。"); } }
採用匿名內部類代碼接口
package com.test.jinhj; public class SubClass{ public static void testM(CustomerService customerService) { customerService.logout(); } public static void main(String[] args) { //整個"CustomerService(){}"稱爲匿名內部類 testM(new CustomerService() { public void logout() { System.out.println("exit!"); } }); } } interface CustomerService{ //退出系統 void logout(); }
###UML圖、六種類和類之間的關係 類和類之間的關係:生命週期
- 泛化關係:繼承。 UML:實線空心箭頭。
- 實現關係: 類實現接口。 UML:虛線空心箭頭。
- 關聯關係:在當前類中含有其餘類的引用。 下例中Me和Friend就是關聯關係
public class Me{ String name; Friend f; Me(Friend f){ this.f=f; } } public class Friend{ String name; String addr; Friend(String addr){ this.addr=addr; } } public class Test{ public static void main(String[] args){ Friend f=new Friend("北京"); //當建立完Me的對象後,關聯關係已創建,Me對象m中已有Friend對象f的內存地址。 Me m=new me(f); System.out.println(m.f.addr); } }
UML:實線箭頭。內存
- 依賴關係:當前類中的局部變量是另外一個類的引用,二者是依賴關係。 UML:虛線箭頭。
- 聚合關係:聚合關係是一種關聯關係,是總體和部分的關係,二者的生命週期相互不影響。 UML:實線空心箭頭指向總體。
- 合成關係:合成關係是一種關聯關係,是總體和部分的關係,總體的關係決定部分的生命週期。 UML:實線實心箭頭指向總體。