Head First Java.(第2版)


優點:語法

           面向對象 

           內存管理

           和最棒的跨平台可移植性

缺點:

          慢

JVM Java(虛擬機)

編譯后的字節碼與平台無關。

你的朋友不會買一台真正的Java機器,但是他們都會有Java虛擬機(通過軟件實現)。此虛擬機可以讀取與執行字節碼。

你要做的事情

1.編寫源代碼文件,用Javac編譯程序把文件進行編譯,然后在某個Java虛擬機上執行編譯過的字節碼。

4步:1.源代碼Party.java  2.執行Javac程序來編譯Party.java。3.編譯成為代碼:Party.class  4.啟動Java虛擬機(JVM)來運行Party.class文件。JVM會將字節碼轉換成平台能夠理解的形式來運行。

J2ME(Micro Edition)

J2SE(Standard Edition)

J2EE(Enterprise Edition)

 

數組容器

String[] a = {"1", "2", "3", "4", "5"}; 

繼承、 覆蓋。

當你在設計類時,要記住對象是靠類的模型塑造出來的。

你可以這樣看:

1.對象是已知的事物

2.對象會執行的動作

對象本身已知的事物,被稱為實例變量。它們代表對象的狀態(數據),且該類型的每一個對象都會獨立的擁有一份該類型的值。

所以你也可以把對象當作實例。

對象可以執行的動作叫做方法。在設計類時,你也會設計出操作對象數據的方法。對象帶有讀取或操作實例變量的方法是很常見的情形。舉例來說,鬧鍾對象會有個變量來保存響鈴時間,且會有getTime()與setTime()這兩個方法來存取該時間。

因此說對象帶有實例變量和方法,但它們都是類設計中的一部分。

 

二、類和對象兩者之間的有什么不同?

類不是對象(卻是用來創建它們的模型)

類是對象的藍圖。它會告訴虛擬機如何創建某種類型的對象。根據某類創建出的對象都會有自已的實例變量。舉例來說,你可以根據按鈕類來創建出許多大小、顏色、文字等不同的按鈕。

也可以這樣說,對象就好比通信薄中的一筆數據,通信薄的每張卡片都有相同的空白字段(實例變量)。填入新的聯絡人就如同創建新的實例(對象),填入卡片的數據代表聯絡人的狀態。

這個卡片類上的方法就是你會對卡片作的事情:getTel()、changeAddress()、deleteCard()等。所以每張卡片上能夠執行相同的操作,但取出的結果應該是依每張卡片各自獨立的。

三、創建你的第一個對象

要作出哪些東西才會運用對象呢?你需要兩個類。(例如說Dog、AlarmClock和Television等)一個是要被操作於對象的類,另外一個是要來測試該類的類。測試用的類帶有main()並且你會在其中建立與存取被測的對象。

本章后續章節的內容會有許多雙類的范例。測試用的類會被命名為“受測試類的名稱”+ TestDrive。例如說要測試Bungee這個類,我們會作出一個帶有main()的BungeeTestDrive。它會創建出Bungee的對象,並使用圈點(.)符號所代表的操作數來存取該對象的變量與方法。看過下面的范例后就應該更清楚了。

1.編寫類

class Dog{

  int size;

       String breed;

  String name;

  void brak(){

System.out.println("Ruff, Ruff!");

}

}

2.編寫測試用的類

class DogTestDrive{

public static void  main(String[] args){

//Dog測試碼

}

}

3.在測試用的類中建立對象並存取對象的變量和方法

class DogTestDrive{

public static void main(String[] args){

Dog d = new Dog();

d.size =  40;

d.bark();

}

}

如果你曾經學習過面向對象的話,你會知道我們並沒有用到封裝,第4章會討論這個問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM