標籤:
一 java語言中變數可分為兩種:1.成員變數2.局部變數。
二 資料類型也可分為兩種:1實值型別,即基本類型,共四類八種,分別為boolean、char、byte、short、int、long、float、double;2參考型別,可類比為C++中的指標,不過java中沒有指標這一概念,也不允許程式猿顯示的操作堆棧等記憶體空間,一定程度上避免了C++中對指標操作不當造成的記憶體泄露等一系列問題。
三 學習JAVA這門物件導向的語言,實質就是不斷地建立類,並把類執行個體化為對象並調用方法。
四 類的聲明與建立對象就是針對資料類型中提到的參考型別而言的,下面主要介紹類的對象的聲明與建立,結合到自己對堆棧知識的理解,可能有表述不當或者錯誤的地方,如若讀者看到還望一定幫忙指出,在此先行謝過。
在java中要使用類的對象一般要經過兩個步驟,即對象的聲明與建立。下面建立一個Person類協助說明問題。
1 public class Person{ 2 //成員變數 3 String name; 4 int age; 5 String sex; 6 7 8 //方法 9 public void speak() {10 System.out.println("跟著我有肉吃");11 }12 13 public void run() {14 System.out.println("人在跑。。。。");15 }16 }17 18 19 public class Test {20 21 /**22 * @param args23 */24 public static void main(String[] args) {25 // TODO Auto-generated method stub26 Person p1 = new Person();27 Person p2 = new Person();28 29 p1.name = "Jim";30 p2.name = "Kite";31 32 p1 = p2;33 p1.name = "Sheldon";34 35 int a = 10;36 int b = 5;37 a = b;38 a = 3;39 40 System.out.println(p1.name);41 System.out.println(p2.name);42 System.out.println(a);43 System.out.println(b);44 45 46 }47 48 }
首先,Person p1=new Person();語句實際上同時完成了對象的聲明與建立,可以分開這樣寫: 1 Person p1; 2 p1=new Person(); 聲明對象只在棧中聲明指標類型的變數,不在記憶體中儲存具體的數值,而只存放另一塊堆中記憶體的地址。建立對象在java中一般用new關鍵字, p1=new Person();這行代碼一共做了兩件事情:第一件是在堆中分配一塊存放學生具體數值的記憶體,第二件是把這個記憶體的首地址賦給上面聲明的指標變數。下面我們就可以通過對象名.屬性名稱訪問具體屬性了。對象必須建立後才能使用,如果只聲明不建立,那麼調用對象屬性和方法時將會報null 指標異常(NullPointerException)。
五 結合上面的代碼再說明一個問題。上面代碼執行後分別輸出:Sheldon Sheldon 3 5 。下面進行思路分析:
1先分析基礎資料型別 (Elementary Data Type)。首先是賦值操作,10賦值給a,5賦值給b,此時b的字面值為5,a的字面值為10。然後b(字面值=5)賦值給a,此步賦值操作後a=5,b=5。最後,3賦值給a,此時a=3,b=5。這是基礎資料型別 (Elementary Data Type)的連續賦值,很好理解。
2接下來分析引用資料類型的賦值操作。畫兩個圖就完全可以解釋清楚了。
OK,時間不早了,洗洗睡了。
java學習過中的隨筆記