方法的重載:
方法重載是指在一個(gè)類中定義多個(gè)同名的方法,但要求每個(gè)方法具有不同的參數(shù)的類型或參數(shù)的個(gè)數(shù)。
調(diào)用重載方法時(shí),Java編譯器能通過檢查調(diào)用的方法的參數(shù)類型和個(gè)數(shù)選擇一個(gè)恰當(dāng)?shù)姆椒ā7椒ㄖ剌d通常用于創(chuàng)建完成一組任務(wù)相似但參數(shù)的類型或參數(shù)的個(gè)數(shù)不同的方法。
方法重載具體規(guī)范
一.方法名一定要相同。
二.方法的參數(shù)表必須不同,包括參數(shù)的類型或個(gè)數(shù),以此區(qū)分不同的方法體。
三.方法的返回類型、修飾符可以相同,也可不同。
方法簽名=方法名+參數(shù)(個(gè)數(shù)及類型),但不包括方法返回值
即java中不能定義方法簽名相同的方法
耦合:from top to down
- 內(nèi)容耦合:
一個(gè)模塊訪問另一個(gè)模塊的內(nèi)部數(shù)據(jù)
一個(gè)模塊不通過正常入口而轉(zhuǎn)到另一個(gè)模塊的內(nèi)部
一個(gè)模塊有多個(gè)入口
2.公共耦合:
當(dāng)兩個(gè)或多個(gè)模塊通過公共數(shù)據(jù)環(huán)境相互作用時(shí),他們之間的耦合稱為公共環(huán)境耦合。
3.控制耦合:
如果兩個(gè)模塊通過參數(shù)交換信息,交換的信息有控制信息,那么這種耦合就是控制耦合。
4.特征耦合:
如果被調(diào)用的模塊需要使用作為參數(shù)傳遞進(jìn)來的數(shù)據(jù)結(jié)構(gòu)中的所有數(shù)據(jù)時(shí),那么把這個(gè)數(shù)據(jù)結(jié)構(gòu)作為參數(shù)整體傳送是完全正確的。但是,當(dāng)把整個(gè)數(shù)據(jù)結(jié)構(gòu)作為參數(shù)傳遞而使用其中一部分?jǐn)?shù)據(jù)元素時(shí),就出現(xiàn)了特征耦合。在這種情況下,被調(diào)用的模塊可以使用的數(shù)據(jù)多于它確實(shí)需要的數(shù)據(jù),這將導(dǎo)致對(duì)數(shù)據(jù)的訪問失去控制,從而給計(jì)算機(jī)犯錯(cuò)誤提供機(jī)會(huì)。
內(nèi)聚 from down to top
有如下的種類,它們之間的內(nèi)聚度由弱到強(qiáng)排列如下:
(1) 偶然內(nèi)聚:模塊中的代碼無法定義其不同功能的調(diào)用。但它使該模塊能執(zhí)行不同的功能,這種模塊稱為巧合強(qiáng)度模塊。
(2) 邏輯內(nèi)聚。這種模塊把幾種相關(guān)的功能組合在一起, 每次被調(diào)用時(shí),由傳送給模塊參數(shù)來確定該模塊應(yīng)完成哪一種功能
(3) 時(shí)間內(nèi)聚:把需要同時(shí)執(zhí)行的動(dòng)作組合在一起形成的模塊為時(shí)間內(nèi)聚模塊。
(4) 過程內(nèi)聚:構(gòu)件或者操作的組合方式是,允許在調(diào)用前面的構(gòu)件或操作之后,馬上調(diào)用后面的構(gòu)件或操作,即使兩者之間沒有數(shù)據(jù)進(jìn)行傳遞。
(5) 通信內(nèi)聚:指模塊內(nèi)所有處理元素都在同一個(gè)數(shù)據(jù)結(jié)構(gòu)上操作(有時(shí)稱之為信息內(nèi)聚),或者指各處理使用相同的輸入數(shù)據(jù)或者產(chǎn)生相同的輸出數(shù)據(jù)。
(6) 順序內(nèi)聚:指一個(gè)模塊中各個(gè)處理元素都密切相關(guān)于同一功能且必須順序執(zhí)行,前一功能元素輸出就是下一功能元素的輸入。
(7) 功能內(nèi)聚:共同完成同一功能,缺一不可,模塊不可再分割
System.in 和 System.out 是java中的標(biāo)準(zhǔn)輸入輸出流,一般情況下代表從控制臺(tái)輸入和輸出到控制臺(tái)