java(面向對象)的三大特性 封裝 是指隱藏對象的屬性和實現細節,僅對外提供公共訪問方式。 繼承 繼承是面向對象最顯著的一個特性。 繼承是從已有的類中派生出新的類, 新的類能吸收已有類的數據屬性和行為,並能擴展新的能力 多態 字面理解,就是多種形態,在Java中,多態指的是,一個類可以 ...
java(面向對象)的三大特性
- 封裝
是指隱藏對象的屬性和實現細節,僅對外提供公共訪問方式。
- 繼承
繼承是面向對象最顯著的一個特性。 繼承是從已有的類中派生出新的類, 新的類能吸收已有類的數據屬性和行為,並能擴展新的能力
- 多態
字面理解,就是多種形態,在Java中,多態指的是,一個類可以有多種表現形態
多態主要是 用來創建可擴展的程式
java的運行機制
java的運行機制分為三個部分:編寫,編譯,執行
-
編寫
指的是java源代碼的編寫,生成尾碼名為.java的代碼文件,該文件可用於編譯。
-
編譯
指的是使用java編譯器對.java文件進行編譯,生成尾碼為.class的位元組碼文件,這個文件可用於被JVM的解釋器進行讀取。
-
運行
指的是JVM解釋器將編譯生成的.class文件翻譯成機械碼並執行程式顯示結果。
-
位元組碼文件是一種和任何具體機器環境,操作系統無關的中間代碼,是一種二進位文件。是java源文件結果java編譯器編譯後生成的目標代碼文件。它必須由專門的java解釋器來解釋執行。 這個是java是解釋性語言的原因
-
JVM(java虛擬機),是一種抽象的機器,有自己的一套機器指令、棧、寄存器等運行Java程式必備的組件,是附著於具體的操作系統上的軟體實現。編譯後的Java程式指令不在電腦的CPU上執行,而是在JVM上執行。JVM是java跨平臺特性的依據,它包含著JDK中
-
JDK=JRE+開發工具集(如javac,java編譯工具等)
-
JRE=JVM+JAVA SE標準類庫
-
javac:是java的編譯器,負責將java源代碼轉化成java的位元組文件
java執行流程:
寫源代碼--->通過javac編譯源代碼將.java文件編譯出.class的位元組文件----->通過jvm虛擬機讀取.class文件--->執行顯示結果
java源文件編寫註意規範
-
java源文件以.java為擴展名,源文件內組成部分是Class類
-
Java應用程式執行入口是main()方法且main方法有固定書寫方式
public static void main(String[] args){....}
-
Java嚴格區分大小寫
-
java是由一條條語句構成,每個語句直接用 ; 結尾
-
一個源文件最多有一個public類,而且源文件名必須和這個Public類名一致
-
單行註釋//
-
多行註釋/**/
-
一個class類javac就會生成一個類名.class的文件,所以即使在一個.java裡面寫多個class那麼javac也會生成多個.class文件
-
一般在一個.java文件中只寫一個class類,這樣方便分類,查看
-
在一個類裡面只能存在最多一個main方法入口
面向過程和麵向對象
面向,就是按照什麼思路走
面向對象(oop)就是按照對象的思路來編程
面向過程(pop)就是按照過程的思路來編程
面向過程
面向過程是一種編程模型,由一系列要執行的計算步驟組成,通常採用自上而下、順序執行的方式。
比如把大象放入冰箱:
面向過程分為三步:
- 打開冰箱
- 把大象放入冰箱
- 把冰箱關上
面向對象
面向對象是一種電腦編程模型,它圍繞數據或對象而不是功能和邏輯來組織軟體設計。
說的更底層一點就是面向對象是一種依賴於類和對象概念的編程方式。
在java中
類:是相同種類對象的抽象,是它們的公共屬性。
對象:對象是類的實例。
面向對象將一個事物描述為一個對象,這個對象包括各種屬性和方法
例如上面把大象裝進冰箱的例子,冰箱的屬性包括:長、寬、高、溫度等,方法有:打開、關閉、存儲等,這些屬性和方法都屬於這個對象。
記住:萬物皆對象
把大象放進冰箱為例進行說明,面向對象的方式為:
冰箱是一個對象,大象也是一個對象。
冰箱有自己的方法,打開、存儲、關閉,有自己的屬性:長、寬、高等。
大象也有自己的方法,吃、走路等,有自己的屬性:體重、高度、體積等。
面向對象和麵向過程的區別
-
安全性方面
面向對象的封裝特性將數據隱藏起來保證了數據的安全性
面向過程沒有適合的方法來隱藏程式數據
-
程式設計方面
面向過程通常將程式分為一個個的函數
面向過程是使用一個個對象,函數是對象中的一個方法
-
過程方面
面向過程一般是採用自上而下的
面向對象通常採用自下而上的方法
-
程式修改方面
面向對象更容易給程式添加新功能,修改代碼。