成員變數:
1.類中,方法外
2.建立物件存在與堆中,物件被**時一併消失
3.成員變數有預設值
區域性變數
1.方法中
2.呼叫方法存在於棧幀中,方法呼叫完畢隨棧幀一併消失
3.區域性變數沒有預設值
public class koo
}
重寫遵循 兩同兩小一大:
兩同:1.方法名稱相同
2.引數列表相同
兩小:1.子類方法的返回值型別小於或等於父類的(返回值型別為void和基本型別時,必須相同)
2.子類方法丟擲的異常小於或等於父類
一大:子類方法的訪問許可權大於等於父類
重寫與過載的區別:
重寫:1.發生在父子類中,方法名稱相同,引數列表相同,方法體不同
2.重寫遵循「執行期」繫結,看物件的型別來呼叫方法
過載:1.發生在乙個類中,方法名稱相同,引數列表不同,方法體也不同
2.過載遵循「編譯期」繫結,所以看引用的型別來繫結方法
抽象類:
1.abstract修飾
2.包含抽象方法的類必須是抽象類,不包含抽象方法的類也可以宣告為抽象類
3.抽象類不能被例項化,抽象類都是需要被繼承的,並重寫所有的抽象方法
抽象類的意義:
1.**復用(封裝子類所共有的屬性和行為)
2.向上造型:(為所有的子類提供了一種統一的型別)
3.可以包含抽象方法,為所有的子類提供了統一的入口(子類可以有不同的實現,但是方法的定義(入口)是相同的)
介面:1.是乙個標準、規範(制定方遵守了這個標準就能幹某件事)
2.介面是一種資料型別(引用型別)
3.用inte***ce定義,只能包含常量和抽象方法(預設也是這兩種,預設為public)
4.介面不能被例項化
5.介面是需要被實現的,實現類/子類,必須實現介面中的所有抽象方法
6.乙個類可以實現多個介面,實現類中的實現方法必須用public修飾
7.若既有繼承又有實現時,應先繼承後實現
8.介面可以繼承介面
9.介面是完全抽象的抽象類
10.介面是對繼承的單根性的擴充套件
設計規則:
1.將共有的屬性和行為,抽象到父類中
2.所有子類的行為都一樣則設計成普通方法,所有子類的行為都不一樣則設計成抽象方法
3.所有子類共有的抽象行為抽象到抽象方法中,部分子類共有的抽象行為抽象到介面中
向上 造型:
1.乙個物件能點出什麼來,看引用的型別。
2.重寫方法被呼叫,看物件的型別。
3.能造型成為的型別:父類+所實現的介面
強制轉換成功的條件:
1.引用所指向的型別就是該型別
2.引用所指向的型別實現了該介面
3.如果不符合以上兩個條件,則發生classcastexception型別轉換異常,建議強轉之前用
instanceof來判斷引用的物件是否為該型別
多型意義:
1.行為多型(同一型別的引用指向不同物件時,有不同的實現)
2.物件多型(同乙個物件向上造型為不同的型別時,有不同的功能)
靜態變數:
1.靜態變數屬於類,存在方法區中,只有乙份
2.通常通過類名點來訪問
靜態方法:
1.屬於類,存在方法區中,只有乙份
2.靜態方法沒有隱式的this傳遞
class test
public static void test2()
}
靜態塊(static塊):
屬於類的**塊,在類載入期間執行的**塊,只執行一次,可以用來在軟體中載入靜態資源。
final(最終的):
1.修飾變數:變數不能被改變
2.修飾方法:方法不能被重寫
3.修飾類:類不能被繼承,但可以繼承別人
static final(應用率高,稱為常量)
1.必須宣告同時初始化,不可改變
2.常量名建議所有字母都大寫,多個單詞之間用_分隔
3.常量和靜態變數之間的區別:編譯器在編譯時將常量直接替換為具體的值,效率高
成員內部類(應用率比較低)
1.類中套類,外面的稱為外部類,裡面的稱為內部類
2.內部類通常只服務於外部類,對外不具備可見性
3.內部類物件通常是在外部類中建立的
4.內部類可以直接訪問外部類中的成員,也包括私有的
匿名內部類(應用率較高)
定義:如果在一段程式中需要建立乙個類的物件(通常這個類需要實現某個介面或者繼承某個類),而且物件建立後
這個類的價值就不存在了。這個類可以不必命名,稱之為匿名內部類。
物件導向總結
物件導向 它是一種程式設計思想,一種通過多個物件之間互相協作完成功能處理流程的程式設計思路,它是相對於面向過程而言的,是面向過程程式設計思想的補充和完善,更加適用於處理複雜業務流程的系統開發。封裝 體現了物件對於敏感資料的保護特徵 繼承 體現了 的復用和功能的擴充套件 多型 體現了不同操作環境中 的...
物件導向總結
1 類與物件的區別 類是物件的抽象,物件是類的例項 2 成員變數 與 區域性變數區別 1 定義在類中 定義在方法中 2 作用在類中 作用於整個方法 3 系統自動初始化 使用前必須初始化 4 隨物件一同載入到堆中,物件無引用時銷毀 在方法呼叫時,在棧中產生一塊棧幀,方法執行完後消失3 封裝實現 1 屬...
物件導向總結
物件導向的程式設計關注於類的設計!1 乙個專案或工程,不管多龐大,一定是有乙個乙個類的構成的。2 類是抽象的,好比是製造汽車的圖紙。而具體的一輛一輛的車,是根據圖紙製造的,實際上就是類的例項化 3.完成乙個專案 或功能 的思路 1 所要完成的功能對應的類的物件是否存在 2 若存在,則通過物件直接呼叫...