JavaSE第三章筆記(物件導向1)
程式導向和麵向物件的設計思想
程式導向
procedure oriented programming 縮寫 POP(注重於解決步驟)
分析出解決問題所需要的步驟,然後把步驟一步一步實現
物件導向
object oriented programming 縮寫 OOP物件導向的程式語言(巨集觀整體上的設計)
以分類的方式進行思考和解決問題,物件導向的思維方式適合於處理複雜的問題。物件導向的思想符合人類的認知習慣
Java類
一個模板,描述一類事物的屬性和行為
注: **屬性 :**類的成員 變數(特徵)
[訪問許可權修飾符] [修飾符] 資料型別 變數名[=值] ;
行為: 類的成員方法(功能)
[訪問許可權修飾符] [修飾符]/void 方法名(){ [return 返回值;] }
類的結構
成員變數:物件屬性的描述;
方法:物件的行為;(可以做的事情)
構造方法:用於建立物件;
內部類: 即在類體中宣告的類。
塊:程式碼塊
基本的屬性和方法
成員變數:對某種事物特徵的描述(這個類有什麼)
方法:對某種事物行為的規定(這個類能幹什麼)
Java類的定義
第一步:發現類
類的宣告格式為:[訪問許可權修飾符] [修飾符] class 類的名稱{ }
訪問修飾符有兩種public,default
**修飾符:**final,abstract
關鍵字class用來定義一個類
**Java類名的命名規範:**類名首字母大寫,見名知意,駝峰表示
第二步:發現類的共有屬性(成員變數)
宣告成員變數的格式為:[訪問許可權修飾符] [修飾符] type attr_name [=defaultValue] ;
第三步:發現類的方法
方法宣告格式為: [訪問許可權修飾符] [修飾符]/void 方法名(){ [return 返回值;] }
Java物件
物件:物件是類的一個例項,是以類為模板在記憶體中建立的實實在在存在的例項
物件的建立和使用
-
使用new關鍵字建立物件
例:Car baomacar = new Car();
Car類就是baomacar的型別
-
使用物件(引用). 成員變數來引用物件的成員變數
例:baomacar.color
-
使用物件(引用). 方法來呼叫物件的方法
例:baomacar. start()
-
同一類的每個物件有不同的成員變數儲存空間
-
同一類的每個物件共享該類的方法
類和物件
類是一類事務的抽象概念,是一個模型
物件是由這個模型所創造的一個一個的具體存在的,是實實在在存在的例項,所以建立物件的過程也叫例項化物件
注:現實生活中先有物件後有類,而程式設計時先設計類後建立物件
變數分類
一個類包含:成員變數;區域性變數;類變數
成員變數
-
定義在類中,方法體之外
-
資料型別可以是基本型別/引用型別
-
成員變數可以不賦值,在java中會使用預設值進行賦值
引用型別(null) float(0.0)
-
在建立物件時,會從類中複製一份屬性到物件中
-
作用域為整個類,在類中的方法,構造方法,程式碼塊中使用
區域性變數
- 在方法,構造方法,語句塊中定義
- 可使用任何資料型別
- 在使用前,必須先進行賦值
- 變數宣告和初始化都是在方法中,方法結束後,變數就會自動銷燬
- 方法引數也屬於區域性變數,在呼叫時會給其賦值
類變數
也叫靜態變數,類變數也宣告在類中,方法體之外,但必須宣告為static型別
方法分類
成員方法
定義在類中。這種方法在建立物件的時候建立
構造方法
用來建立物件的方法
類方法
**(**也叫靜態方法)類方法也宣告在類中,但必須宣告為static型別
構造方法
- 方法名與類名相同,沒有返回值,不需要void修飾
- 一個類可以有多個構造方法(方法過載)
- 如果類中沒有顯示構造方法,則系統會預設一個構造方法
- 使用 new+ 構造方法 建立一個新的物件。在建立一個物件的時候,至少要呼叫一個構造方法
方法的過載
一個類中可以定義相同的名字,但引數不同的多種方法,呼叫時,會根據不同的參數列選擇對應的方法
- 同一類中
- 方法名相同
- 引數不同(數量不同,型別不同,順序不同)
注:方法過載和返回值型別沒有任何關係
相關文章
- JavaSE第三章 物件導向 抽象類 abstractJava物件抽象
- 【python 物件導向】 python物件學習筆記《1》Python物件筆記
- 物件導向筆記物件筆記
- JavaSE什麼是物件導向?Java物件
- Python 物件導向筆記Python物件筆記
- Go 筆記之物件導向Go筆記物件
- javaSE之物件導向思維導圖總結Java物件
- (Java筆記)物件導向基礎Java筆記物件
- [筆記]物件導向的程式設計筆記物件程式設計
- Java課堂筆記(二):物件導向Java筆記物件
- 《JavaScript 物件導向精要》 讀書筆記JavaScript物件筆記
- Js物件導向(1): 理解物件JS物件
- Python 3 學習筆記之——物件導向Python筆記物件
- Cris 的 Scala 筆記整理(七):物件導向筆記物件
- Flutter學習筆記(8)--Dart物件導向Flutter筆記Dart物件
- Python學習筆記|Python之物件導向Python筆記物件
- js高階 物件導向 學習筆記JS物件筆記
- python第五次筆記---物件導向Python筆記物件
- JavaSE —— 第11步 —— 最關鍵的一點(物件導向) 11.1物件導向和麵向過程的區別Java物件
- Java匹馬行天下之JavaSE核心技術——物件導向Java物件
- 物件導向-物件導向思想物件
- Cris 的 Scala 筆記整理(九):物件導向高階筆記物件
- Java小白進階筆記(5)-進階物件導向Java筆記物件
- 12 物件導向基礎-1物件
- 菜鳥學習筆記:Java基礎篇1(基礎語法、物件導向)筆記Java物件
- 【廖雪峰python進階筆記】物件導向程式設計Python筆記物件程式設計
- Python 學習筆記之類「物件導向,超類,抽象」Python筆記物件抽象
- 侯捷C++物件導向高階開發筆記C++物件筆記
- Python物件導向程式設計(1)Python物件程式設計
- 1 物件導向的開發方法物件
- day 17 物件導向作業1物件
- 物件導向的基本理論1:類和物件物件
- 物件導向與程式導向物件
- 程式導向與物件導向物件
- “程序導向”和“物件導向”物件
- Cris 的 Scala 筆記整理(八):物件導向中級-封裝筆記物件封裝
- 程式設計基礎·Java學習筆記·物件導向(下)程式設計Java筆記物件
- Python3:物件導向程式設計學習筆記(2)Python物件程式設計筆記