Java面向對象

1、面向過程與面向對象有哪些區別與聯系?

面向過程:實現功能時每個步驟、每個細節需要詳細處理。強調步驟
面向對象:不關心具體步驟,把事情交給會做的人。強調對象

2、面向對象的思想特點有哪些?

更符合思維習慣。
復雜的代碼簡單化。
從執行者變成指揮者。

3、面向對象的三大特征分別是什么?

封裝(encapsulatio)
繼承(inheritance)
多態(polymorphism)

4、什么是類,什么是對象?什么是成員變量,什么是成員方法?

類是Java最基本的單位,類是一種抽象,是一組相關屬性和行為的集合,可以看成一類事物的模板
對象是類的具體體現,是類的實例

類的成員
成員變量 事物屬性
成員方法 事物行為

5、局部變量和成員變量的區別?

(1)定義位置不同:
局部變量在方法定義中或者方法聲明時
成員變量在類中方法外
(2)生命周期不同:
局部變量隨著方法的調用而存在,隨著方法調用完畢而消失
成員變量隨著對象的創建而存在,隨著對象的銷毀而消失
(3)默認值不同:
局部變量沒有默認的初始值,必須定義,賦值,才能使用
成員變量有默認的初始值
(4)在內存中的位置不同:
局部變量保存在棧內存中,
成員變量保存在堆內存中

6、方法的參數

基本數據類型作為形式參數時,傳入具體值
引用數據類型作為形式參數時,傳入地址值
注意String類的特殊性,StringBuffer 和StringBuilder

7、構造方法

對對象的數據(屬性)進行初始化的方法
格式:
(1)public 權限修飾符,方法名與類名相同(大小寫也與類名一致)
(2)沒有返回值類型 void都沒有
(3)沒有具體返回值return
注意:
(1)對象不能調用構造方法,創建對象時類名 對象名 = new 類名(),類名()就表明調用的是該類的無參構造函數
(2)構造方法可以重載

8、匿名對象

匿名對象調用方法格式 new 類名().方法名();
匿名對象只適合對方法的一次調用,多次調用會產生多個對象,占用內存。
匿名對象可以調用類的屬性,但調用后立刻會被垃圾回收器回收,無意義。
匿名對象可作為參數傳遞。

9、封裝

類隱藏對象屬性及實現細節,只對外提供公共訪問方法。
封裝在Java中的體現:
(1) 方法
(2) private關鍵字
(3) 包
(4)接口
封裝好處:
減少耦合、易于理解和維護。
隱藏實現細節。
防止該類的代碼和數據被外部類隨意訪問。
提高代碼復用性、安全性。

private關鍵字

特點:
private 是權限修飾符,可以修飾成員變量和成員方法,被其修飾的成員只能在本類中被訪問。
private的應用:
成員變量用private修飾
提供對應的getter()和setter()方法,可以編寫其他邏輯。

this關鍵字

代表當前對象的引用,訪問本類內容
局部變量和成員變量重名時采用“就近原則”優先使用局部變量,解決成員變量和局部變量的同名沖突。
用法:
1、本類成員方法訪問本類成員變量;
2、本類成員方法中訪問本類另一個方法;
3、在本類構造方法中訪問本類另一個構造方法(構造方法重載調用)需注意:this語句必須是唯一一個,不能與super同時使用

繼承
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。