国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Core Java筆記 1.對象與類

2019-11-15 00:00:07
字體:
供稿:網(wǎng)友
Core java筆記 1.對象與類本章重點:
  • 面向?qū)ο蟪绦蛟O(shè)計
  • 使用現(xiàn)有Java類
  • 自定義類

面向?qū)ο蟪绦蛟O(shè)計

面向?qū)ο蠛诵母拍睿篶lassinstance(instance fields, method, constructor)

面向?qū)ο蟮娜齻€特征:

  1. encapsulation
  2. inheritance
  3. polymorphism

類之間的關(guān)系:

  • 依賴(uses-a): 減少類之間耦合。
  • 聚合(has-a)
  • 繼承(is-a)

使用現(xiàn)有類

構(gòu)造器、new關(guān)鍵字、getter/setter(accessor/mutator method)


自定義類最簡單的類定義形式
class ClassName {    constructor1    constructor2    ...    method1    method2    ...    field1    field2}
多個源文件的使用

Employee.java、EmployeeTest.java。EmpolyeeTest.java依賴Employee.java:javac EmployeeTest.java 即可。

原理:java編譯器發(fā)現(xiàn)EmployeeTest.java使用了Employee類時會查找Employee.class的文件,如果沒有找到這個文件或者Employee.java比Employee.class新,就會自動搜索Employee.java,然后對它編譯。

簡要剖析java類:
  1. java訪問權(quán)限: public、PRotected、private、default
  2. java constructor
  3. 方法的implicit參數(shù)和explicit參數(shù)(this就是implicit參數(shù))
  4. private fields && accessor, mutator 基于類的訪問權(quán)限:方法可以訪問所屬類的私有特征(包括private fields和private methods)
  5. final 通常final應(yīng)用于類的primitive or immutable class(不可變類)類型的fields。比如: String就是一個immutable class, 而Date就不是immutable class

static

靜態(tài)域: private static int nextId = 1;靜態(tài)常量: private static final int PI = 3.14;靜態(tài)方法: Math.pow(x, a);

靜態(tài)方法有一個常見的用途:Factory方法

NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance();NumberFormat percentFormatter = NumberFormat.getPercentInstance();String currency = currencyFormatter.format(0.1);String percent = currencyFormatter.format(0.1);

Factory方法的兩個原因:

  1. 無法命名構(gòu)造器.
  2. 當(dāng)使用構(gòu)造器時,無法改變所構(gòu)造的對象類型,而Factory方法可以返回該類的子類實例.

對象構(gòu)造
  1. overloading. Java允許重載任何方法,包括構(gòu)造器.
  2. 默認(rèn)構(gòu)造器. 如果一個類沒有一個顯式構(gòu)造器,系統(tǒng)會生成一個默認(rèn)構(gòu)造器,所有的實例域會被設(shè)置成默認(rèn)值,最好不要使用默認(rèn)構(gòu)造器.
  3. 域顯式初始化.
  4. 調(diào)用另一個構(gòu)造器(this(...)).
  5. java可以在三個地方初始化fields:構(gòu)造器、聲明中、初始化塊(initialization block).

初始化對象域的步驟:

  1. 所有數(shù)據(jù)域被初始化默認(rèn)值(0, false, null).
  2. 按照在類聲明中出現(xiàn)的次序,依次執(zhí)行所有域初始化語句和初始化塊.
  3. 如果構(gòu)造器第一行調(diào)用了第二個構(gòu)造器,則執(zhí)行第二個構(gòu)造器主體.
  4. 執(zhí)行這個構(gòu)造器的主體.

類設(shè)計技巧
  1. 一定將數(shù)據(jù)設(shè)計為private.
  2. 一定要對數(shù)據(jù)初始化.
  3. 將職能過多的類進(jìn)行拆分.
  4. 類名和方法名能夠體現(xiàn)它們的職責(zé).

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 手游| 崇州市| 嘉鱼县| 河间市| 托克逊县| 衡东县| 肥乡县| 昌邑市| 澄迈县| 务川| 武川县| 浑源县| 阜城县| 鹿泉市| 清河县| 西华县| 盘锦市| 屯留县| 莱芜市| 星座| 尼玛县| 河曲县| 云梦县| 台江县| 哈巴河县| 罗平县| 汤阴县| 汶川县| 德钦县| 永善县| 炉霍县| 临海市| 沛县| 莲花县| 凌源市| 和田县| 潢川县| 察雅县| 布尔津县| 宣汉县| 泸溪县|