(Java筆記)物件導向基礎
這裡寫目錄標題
一、物件導向
1.1、物件導向思想概述
物件導向(Object Oriented)是軟體開發方法。物件導向的概念和應用已超越了程式設計和軟體開發,是一種對現 實世界理解和抽象的方法,是計算機程式設計技術發展到一定階段後的產物。
物件導向是相對於程式導向來講的,指的是把 相關的資料和方法組織為一個整體 來看待,從更高的層次來進行系 統建模,更貼近事物的自然執行模式。
程式導向到物件導向思想層面的轉變:
程式導向關注的是執行的過程,物件導向關注的是具備功能的物件。
程式導向到物件導向,是程式設計師思想上 從執行者到指揮者的轉變。
1.2、三大思想
物件導向思想從概念上講分為以下三種:OOA、OOD、OOP
OOA:物件導向分析(Object Oriented Analysis)
OOD:物件導向設計(Object Oriented Design)
OOP:物件導向程式(Object Oriented Programming
1.3、三大特徵
封裝性:所有的內容對外部不可見
繼承性:將其他的功能繼承下來繼續發展
多型性:方法的過載本身就是一個多型性的體現
二、類與物件
2.1、兩者關係
類表示一個共性的產物,是一個綜合的特徵,而物件,是一個個性的產物,是一個個體的特徵。
(類似生活中的圖紙與實物的概念。)
類必須通過物件才可以使用,物件的所有操作都在類中定義。
類由屬性和方法組成: ·
屬性:就相當於人的一個個的特徵
方法:就相當於人的一個個的行為,例如:說話、吃飯、唱歌、睡覺
2.2、類的定義格式
class 類名稱{
成員屬性
成員方法
}
2.3、屬性與方法
2.4、物件的建立與使用
三、建立物件記憶體分析
3.1、棧
Java棧的區域很小 , 大概2m左右 , 特點是存取的速度特別快
棧儲存的特點是, 先進後出
儲存速度快的原因:
棧記憶體, 通過 ‘棧指標’ 來建立空間與釋放空間 !
指標向下移動, 會建立新的記憶體, 向上移動, 會釋放這些記憶體 !
這種方式速度特別快 , 僅次於PC暫存器 !
但是這種移動的方式, 必須要明確移動的大小與範圍 ,
明確大小與範圍是為了方便指標的移動 , 這是一個對於資料儲存的限制, 儲存的資料大小是固定的 , 影響了程式 的靈活性 ~
所以我們把更大部分的資料 儲存到了堆記憶體中
儲存的是:
基本資料型別的資料 以及 引用資料型別的引用!
例如:
int a =10;
Person p = new Person();
10儲存在棧記憶體中 , 第二句程式碼建立的物件的引用(p)存在棧記憶體中
3.2、堆
3.3、方法區
3.4、PC暫存器
PC暫存器儲存的是 當前正在執行的 JVM指令的 地址 !
在Java程式中, 每個執行緒啟動時, 都會建立一個PC暫存器 !
3.5、本地方法棧
儲存本地(native)方法的地址 !
四、構造方法(構造器)
4.1、回顧物件建立
Person p = new Person();
在右側Person後面出現的小括號, 其實就是在呼叫構造方法 !
4.2、概述
4.3、定義格式
4.4、構造方法設計
4.5、方法的過載
4.6、構造方法的過載
4.7、匿名物件
相關文章
- Java基礎-物件導向基礎Java物件
- JAVA物件導向基礎--物件導向介紹Java物件
- Java基礎 --- 物件導向Java物件
- JAVA物件導向基礎Java物件
- 程式設計基礎·Java學習筆記·物件導向(下)程式設計Java筆記物件
- java基礎二:物件導向Java物件
- 菜鳥學習筆記:Java基礎篇1(基礎語法、物件導向)筆記Java物件
- java基礎 韓順平老師的 物件導向(基礎) 自己記的部分筆記Java物件筆記
- JAVA物件導向基礎--異常Java物件
- 【Java基礎】物件導向開發Java物件
- 物件導向筆記物件筆記
- Java課堂筆記(二):物件導向Java筆記物件
- java基礎 韓順平老師的 物件導向(中級) 自己記的部分筆記Java物件筆記
- Java基礎 --- 物件導向綜合訓練Java物件
- Java基礎01 從HelloWorld到物件導向Java物件
- python物件導向[基礎]Python物件
- Python 物件導向筆記Python物件筆記
- 『Java 語法基礎』物件導向有哪些特性Java物件
- JAVA物件導向基礎--N種內部類Java物件
- 【Java基礎知識】物件導向有哪些特性Java物件
- Android探索之旅 | 物件導向和Java基礎Android物件Java
- 面向Python,物件導向(基礎)Python物件
- 12 物件導向基礎-1物件
- PHP 物件導向基礎概念PHP物件
- Golang 基礎之物件導向Golang物件
- Python基礎之物件導向Python物件
- Go 筆記之物件導向Go筆記物件
- Java零基礎學習之路(八)Java物件導向Java物件
- 夯實Java基礎系列1:Java物件導向三大特性(基礎篇)Java物件
- JAVA物件導向基礎--封裝 繼承 多型Java物件封裝繼承多型
- 老王的JAVA基礎課:第5課 物件導向Java物件
- Java小白進階筆記(5)-進階物件導向Java筆記物件
- 面向Python,物件導向(基礎2)Python物件
- 「MoreThanJava」Day 4:物件導向基礎Java物件
- PHP基礎之物件導向篇PHP物件
- 面向Python,物件導向(基礎3)Python物件
- 《Python 基礎篇》六:物件導向Python物件
- php基礎語法_物件導向PHP物件