2015 7 21 介面 工廠設計模式 封裝 抽象

2021-07-03 23:31:40 字數 2977 閱讀 2533

static使用規則

1.可以呼叫其他靜態方法

2.必須訪問靜態資料

3.不能使用super或this關鍵字

4.是所有的類公用物件或者方法(不因為物件的改變而改變)(靜態的)

5.靜態的變數和方法可以通過「類名.」來呼叫

final的使用方法

1.final修飾變數時,變數的值不允許改變,要改變系統要自動報錯

2.全域性變數要立刻賦值,區域性變數可以先不賦值。

3.final修飾方法是,該方法是不允許重寫的。

@override重寫的方法是父類中的方法。

常量的命名規則是:全部大寫單詞用下滑線隔開

import

static com.baidu.packag.person.eye_num;

上面是跨包呼叫的例項,需要輸入包名,類別,名稱

通常稱為常量的匯入

//抽象類的構造,裡面是抽象方法

public

abstract

class

student01

//抽象的子類,實現抽象的的具體方法;

public

class

schoolboy

extends

student01

}// 匿名內部類,一般只在使用乙個此類物件的時候使用

// 相當於繼承了student01類,然後用此類構建了乙個物件

student01 ss=new student01();

};ss.readbook();

封裝的定義

將實現隱藏在類的內部,提供乙個公開的方法,不允許外部程式直接訪問而是通過該類提供的方法來實現對隱藏資訊的操作和訪問

封裝的好處

1.隱藏類的實現細節

2.只能通過規定方法訪問資料

3.方便加入控制語句

4.方便修改實現

//定義乙個封裝類,類名為people

public

class

people

public ink creatink()

//封裝的呼叫

people people=new people();

print print1=people.creatprint();

***** *****1=people.creat*****();

ink ink1=people.creatink();

print1.print(ink1, *****1);

介面的特點

關鍵字是implements

1.介面中不允許有變數只允許有常量和抽象方法

2.介面常作為型別使用

3.介面不可以被例項化

4.實現類必須實現介面的所有方法

5.實現類可以實現多個介面

6.介面中的變數都是靜態常量

//建立介面類,以及抽象方法;

public

inte***ce

print

//建立乙個類包含介面print

public

class

hpprint

implements

print

}// 呼叫介面中的類是,首先要宣告介面型別

// print print=new hpprint();

// ***** *****=new chenguang*****();

// ink ink=new beijingink();

// print.print(ink, *****);

instanceof運算子

1.該運算子用來判斷乙個物件是否屬於乙個類或者實現了乙個介面,結果為true或false

2.在強制型別轉換之前通過instanceof運算子檢查物件的真實型別,可以避免型別轉換異常,從而提高**的健壯性。

//    if(print1 instanceof hpprint)

// else

多型

使用父類引用指向子類物件

沒有繼承就沒有多型,

乙個介面多種實現

單例設計模式

1.類值產生一種物件

2.現有私有構造器

3.創造乙個靜態得到物件的方法

4.建立靜態物件

5.在靜態方法中加條件語句

public

class

student

//建立乙個靜態得到物件的方法

public

static student getinstence()

return instence;

}}public

static

void

main(string args) catch (ioexception e)

print print=null;

if (s.equals("hpp")) else

}// print print=new hpprint();

return print;

}// 呼叫模式為

people people=new people();

print print1=people.creatprint();

***** *****1=people.creat*****();

ink ink1=people.creatink()

print1.print(ink1, *****1);

設計模式基礎1 介面

a 使用場景 解決多重繼承和client需要多service provider的支援。b 典型uml c 舉例 薪水計算類的設計 不同的類別有不同的薪水計算方法,那麼getsalary方法可以抽象到乙個介面salarycalculator內,這樣在client進行呼叫時就會有多型的效果 d 分析總結...

設計模式 2 介面隔離原則

介面 inte ce inte ce1 class bimplements inte ce1 public void operation2 public void operation3 public void operation4 public void operation5 class dimpl...

設計模式 二 介面隔離原則

要求程式設計師盡量將臃腫龐大的介面拆分成更小的和更具體的介面,讓介面中只包含客戶端感興趣的方法。客戶端不應該被迫依賴於它不使用的方法。即,乙個類對另乙個類的依賴應該建立在最小的介面上。上面的說法可能比較籠統,難以理解。下面就舉例說明 a類中的某個方法或者建構函式,引數需要傳入乙個介面實現類b,這就是...