Java物件導向——類與物件
Java物件導向——類與物件
b站學習視訊以及筆記-尚矽谷_Java零基礎教程
1.物件導向學習的三條主線:
- Java類及類的成員:屬性、方法、構造器;程式碼塊、內部類
- 2.物件導向的大特徵:封裝性、繼承性、多型性、(抽象性)
- 3.其它關鍵字:this、super、static、final、abstract、interface、package、import等
- “大處著眼,小處著手”
2.物件導向與程式導向(理解)
1.程式導向:強調的是功能行為,以函式為最小單位,考慮怎麼做。
2.物件導向:強調具備了功能的物件,以類/物件為最小單位,考慮誰來做。
舉例對比:人把大象裝進冰箱。
3.完成一個專案(或功能)的思路:
4.物件導向中兩個重要的概念:
類:對一類事物的描述,是抽象的、概念上的定義
物件:是實際存在的該類事物的每個個體,因而也稱為例項(instance)
物件導向程式設計的重點是類的設計
設計類,就是設計類的成員。
二者的關係:
物件,是由類new出來的,派生出來的。
5.物件導向思想落地實現的規則一
- 1.建立類,設計類的成員
- 2.建立類的物件
- 3.通過“物件.屬性”或“物件.方法”呼叫物件的結構
補充:幾個概念的使用說明
- 屬性 = 成員變數 = field = 域、欄位
- 方法 = 成員方法 = 函式 = method
- 建立類的物件 = 類的例項化 = 例項化類
6.物件的建立與物件的記憶體解析
典型程式碼:
Person p1 = new Person();
Person p2 = new Person();
Person p3 = p1;//沒有新建立一個物件,共用一個堆空間中的物件實體。
說明:
如果建立了一個類的多個物件,則每個物件都獨立的擁有一套類的屬性。(非static的)
意味著:如果我們修改一個物件的屬性a,則不影響另外一個物件屬性a的值。
記憶體解析:
物件陣列解析:
7.匿名物件:
我們建立的物件,沒顯式的賦給一個變數名。即為匿名物件
特點:匿名物件只能呼叫一次。
舉例:
new Phone().sendEmail();
new Phone().playGame();
new Phone().price = 1999;
new Phone().showPrice();//0.0
應用場景:
PhoneMall mall = new PhoneMall();
//匿名物件的使用
mall.show(new Phone());
其中,
class PhoneMall{
public void show(Phone phone){
phone.sendEmail();
phone.playGame();
}
}
8.理解"萬事萬物皆物件"
1.在Java語言範疇中,我們都將功能、結構等封裝到類中,通過類的例項化,來呼叫具體的功能結構
Scanner,String等
檔案:File
網路資源:URL
2.涉及到Java語言與前端Html、後端的資料庫互動時,前後端的結構在Java層面互動時,都體現為類、物件。
9、JVM記憶體結構
編譯完源程式以後,生成一個或多個位元組碼檔案。
我們使用JVM中的類的載入器和直譯器對生成的位元組碼檔案進行解釋執行。意味著,需要將位元組碼檔案對應的類載入到記憶體中,涉及到記憶體解析。
JVM規範
虛擬機器棧,即為平時提到的棧結構。我們將區域性變數儲存在棧結構中,我們將new出來的結構(比如:陣列、物件)載入在堆空間中。補充:物件的屬性(非static的)載入在堆空間中。
方法區:類的載入資訊、常量池、靜態域
相關文章
- Java語言之物件導向—類與物件(上)Java物件
- JAVA物件導向--抽象類Java物件抽象
- python物件導向思想(類與物件)Python物件
- Java — 物件導向Java物件
- Java物件導向Java物件
- [Java物件導向]Java物件
- 物件導向-抽象類物件抽象
- Perl物件導向--類物件
- JAVA物件導向基礎--物件導向介紹Java物件
- 課時37:類與物件:物件導向程式設計物件程式設計
- 程式導向與物件導向物件
- 物件導向與程式導向物件
- 物件導向與人類的組織物件
- 物件導向-物件導向思想物件
- java的物件導向Java物件
- Java物件導向(一)Java物件
- java物件導向(中)Java物件
- java物件導向(上)Java物件
- Java 物件導向概述Java物件
- java物件導向(2)Java物件
- java物件導向(1)Java物件
- java物件導向(3)Java物件
- java物件導向(4)Java物件
- java物件導向(5)Java物件
- Java物件導向概述Java物件
- JAVA物件導向思想Java物件
- 談談我對物件導向以及類與物件的理解物件
- python中物件導向_類_物件的概念與定義Python物件
- 物件導向類成員物件
- Java:Java的物件導向Java物件
- JAVA(一)JAVA基礎/物件導向基礎/高階物件導向Java物件
- TypeScript與物件導向TypeScript物件
- python-程式導向、物件導向、類Python物件
- 談談“物件導向”與“程式導向”物件
- JAVA物件導向之多型Java物件多型
- JAVA物件導向基礎Java物件
- 二、Java之物件導向Java物件
- Java物件導向--多型Java物件多型