第45節:Java當中的變數,面向物件

標題圖
Java當中的變數
01
Java
當中的例項變數和類變數
什麼是例項變數和類變數呢?
例項變數為沒有用 static
修飾符修飾的變數,而類變數為用 static
修飾符修飾的變數。
public class Hello{ // 私有的靜態變數 name private static name = "dashu"; // 私有變數 age private int age = 17; // 無參構造方法 public Hello(){ this.age = 18; } public static void main(String[] args){ // 例項化物件 在堆記憶體中 new Hello(); } }
程式執行過程: Hello.java
變成 Hello.class
,通過類載入器,載入到 Java
虛擬機器中的方法區中,在方法區中,進行載入,驗證,準備,解析,初始化。
驗證, class
檔案的版本是否能相容當前的 Java
虛擬機器版本,然後 class
檔案要滿足虛擬機器的規範。
準備,需要準備什麼呢?就是要進行類成員的初始化為初始值,其中為 final
修飾的類變數除外, final
變數就直接初始化為變數值,而類成員不一樣。
解析,什麼是解析呢?就是把符號引用解析為直接引用,就是我們變數 xxx
,這種代表變為直接引用,什麼是直接引用呢?就是記憶體地址,如我們常見的 xxx0203r0e
,這種。
初始化(將類變數的值設定為初始值),把關於 static
修飾的變數或者是 static
靜態程式碼塊按照順序組成構造器進行初始化變數。 static
修飾的方法無法訪問非static的例項哦~
初始值為要進行類成員的初始化為初始值為準備階段,初始值為 jvm
中預設的值。
變數為成員變數和區域性變數
成員變數在類中定義,有例項變數和類變數,例項變數是沒有 static
修飾的(屬於例項),而類變數是有 static
的(屬於類本身)。
區域性變數有在方法裡的區域性變數,作用域在該方法內有效;程式碼塊中的區域性變數,就只是在程式碼塊中有效;還有形參,參可別不記得了,也是變數,在整個方法內有效。
例項變數,是在建立例項時,例項變數就存在,被銷燬就不存在,類變數是,有類,類變數就存在,類變數在 jvm
中只加載一次。
在系統中會為成員變數進行預設的初始化,初始化兩種,一種為基本型別,一種為引用型別。
基本型別: 0 / 0.0 / \u0000 / false 引用型別: null
區域性變數是在方法棧中。區域性變數是由程式設計師賦值,系統不會預設給區域性變數進行初始化的。
成員變數,是系統有給予預設的初始化值,在類方法外,在堆記憶體中,是隨著物件的建立而存在,隨著物件的消失而消失的。
區域性變數,是沒有初始化的值,在定義的時候必須要賦予初始值的,在方法中,在堆記憶體中。
面向物件
02
OOA, OOD, OOP
OOA
為面向物件分析
OOD
為面向物件設計
OOP
為面向物件程式設計
面向物件是物件之間的互動
面向過程是注重資料的流向
Java
中的三大特性為封裝,繼承,多型
面向物件,首先要進行面向物件分析,分析有多少個物件,然後進行面向物件設計,設計出物件含有的函式和屬性等。
往後餘生,唯獨有你
簡書作者:達叔小生
90後帥氣小夥,良好的開發習慣;獨立思考的能力;主動並且善於溝通
簡書部落格: ofollow,noindex">https://www.jianshu.com/u/c785ece603d1
結語
- 下面我將繼續對 其他知識 深入講解 ,有興趣可以繼續關注
- 小禮物走一走 or 點贊