對物件導向的理解

2021-08-20 19:21:48 字數 1506 閱讀 3596

修飾符一般只修飾屬性和方法,屬性盡量使用private,方法盡量使用public

public公開的,只要在同一工程內就可以訪問

protected受保護的,只能在當前包或子類中才能訪問

預設,沒有修飾符即預設,只能在當前包中才能訪問

private,私有的,只能在當前類中使用

static:修飾變數成為靜態變數,修飾方法成為靜態方法

1, 靜態屬性和方法在new之後放入記憶體,而非靜態變數和方法在new之前就放記憶體

2, 靜態屬性和方法通過「類名.屬性/方法」來呼叫,而非靜態,屬性或方法通過「物件名.屬性/方法」呼叫

final:修飾變數成為靜態變數,修飾方法成為靜態方法

1, 修飾變數使之成為常量,常量名全部大寫,不能修改其值

2, 修飾方法使之不能被子類重寫

3, 修飾類使之不能被繼承

是物件的抽象概念,由屬性(成員變數)和方法(成員方法)組成

構造方法:

1, 方法名和類名一樣,沒有返回值也不能寫成void

2, 目的是給屬性賦初值

3, 建立乙個類會預設建立乙個無參的構造方法,會預設呼叫super(),如果自定義了構造方法會覆蓋預設的構造方法

重寫:子類中的方法和父類的返回值型別、方法名、引數列表相同

過載:在同乙個類中,方法名相同,引數列表不同(個數,型別,順序)

類的例項化,通過new建立物件(jdk1.8以後可以通過反射不使用new建立物件)

把屬性和方法封到乙個類裡面,使用的時候通過物件來訪問

把屬性和方法封到乙個類裡面,使用的時候通過物件來訪問

實現封裝:

1,  屬性私有化

2,  對屬性提供getter和setter

提高**復用,降低冗餘,通過關鍵字extends來實現

1, 單根繼承(但是可以多重繼承)

2, 父類私有屬性方法和構造方法不能繼承

3, super表示父類例項物件,只能在子類中使用

4, super()表示呼叫父類構造方法(必須寫在子類構造器中第一行)

5, this表示當前類的例項物件,能區分區域性變數和成員變數(屬性)

6, this()表示呼叫當前類的構造方法,也不許放在首行

1,  可以把父類當成子類來使用(例項化子類用父類接收)

2,  只能訪問父類中的屬性和方法,如果要訪問子類獨有的屬性和方法要強制轉換成子類

通過abstract來定義

1, 可以包含抽象方法,不能直接例項化,只能例項化子類

2, 子類必須實現父類的抽象方法(如果不實現那麼子類也必須是抽象類)

抽象方法:沒有方法體,訪問修飾符不能為private,因為這樣子類就不能繼承該方法也實現不了該方法

通過inte***ce來定義

1, 介面和介面可以多繼承

2, 類和介面通過implements實現,也可以多實現(所以一般不採用介面多繼承)

3, 由靜態常量和抽象方法組成,對於常量可以省略public static final,對於方法可以省略public abstract

對物件導向的理解

物件導向包括三個特徵 繼承 封裝 多型。類的繼承性是指從已有的乙個類來extends子類,子類具有了父類的所有特徵,同時,子類也可以有新的特性。比如 人是乙個類,男人具有了人類的所有的特性,比如思考,比如勞動。同時,男人也有新的特性,比如男人會長鬍子。類的封裝是指類把所有的操作都封閉起來,僅僅提供介...

對物件導向的理解

封裝 就是將一類事物的屬性和行為抽象成乙個類,使其屬性私有化,行為公開化,提高了資料的隱秘性的同時,使 模組化。這樣做使得 的復用性更高。繼承 則是進一步將一類事物共有的屬性和行為抽象成乙個父類,而每乙個子類是乙個特殊的父類 有父類的行為和屬性,也有自己特有的行為和屬性。這樣做擴充套件了已存在的 塊...

對物件導向的理解

從題目進行分析 面向 面對,方向,角度。物件 萬物 結合起來就是站在萬物的角度 oop引入四大特徵 抽象 封裝 繼承 多型。通過他們建立一種物件層次結構,用於模擬公共行為的乙個集合。通俗的講就是解決現實世界問題,對現實問題進行抽象,建模。抽象 將萬物進行概括 總結,然後將其進行分組。將具有相同特徵的...