「Java」 第二課: 基本架構
Java基本架構
類別
也就是一種藍圖。藍圖中定義了使用者資料型態,如: 屬性與方法。
宣告關鍵字: class
物件屬性
屬性也就是變數。宣告物件變數,不採用static。
宣告類別變數,採用static。
變數必須宣告在 class 內 。
物件變數: 由各自物件獨立維護,不受干擾。
類別變數: 屬於類別的變數,可藉由 new 來共享共用。
物件方法
描述類別內部的行為。也是外部存取物件內部資料的方法。
宣告物件方法: 不採用static。
宣告靜態方法: 採用static。
"方法內不可再定義其他方法,否則會發生編譯錯誤"
建立物件實體
類別內定義許多資料型態與宣告。依據類別宣告創建出來的實體就是物件。
類別名稱 物件(變數)名稱 = new 類別名稱();
或者
類別名稱 物件(變數)名稱;
物件(變數)名稱 = new 類別名稱();
"類別就是物件"
Test t = new Test();
講法: 宣告Test物件,變數名稱 t , 並new 一個物件實體。藉由變數名稱 t 來「呼叫」操作該new物件變數。
Test (前): 物件變數 t 的資料型別
t : 物件變數 t ,對物件實體進行調用與操作
new : 建立實體
Test (後): Test 的物件實體,負責實作執行。
解析: Test類別所定義的屬性與方法都可以藉由 t 變數來呼叫,而呼叫後的實作返回,則由Test物件實體 new Test () ; 來實施調用。
以下範例解析:
//Hello.java 儲存檔案名稱 //宣告主類別,必須有public且與檔名相同, public class Hello{ // 欄位 屬性 int i = 5; //物件變數 static int j=10; //類別變數 //主方法 public static void main(String[] args){ // 欄位 屬性 int Inner; // 區域變數 static int k=10; //錯誤:方法中不可定義static變數 Scanner scanner = new Scanner(System.in);//建立Scanner物件實體 //敘述句 System.out.println("Test"); System.out.println(args[1]+args[2]); new Test().Method();//new , 呼叫Test主類別內的Method物件方法 bMethod(); //不需要 new ,即可直接呼叫 bMethod 類別方法 void cMethod() { }//編譯失敗:方法內不可再定義其他方法 } void Method(){ //物件方法 // 欄位 屬性 int i =1;//物件變數,變數名稱與上面的相同,但彼此各自維護,編譯成功 static int L=5;//錯誤:方法中不可定義static變數 void aMethod() { }//編譯失敗:方法內不可再定義其他方法 } static void bMethod() { //類別方法 } } //一般類別區,不可以有public,類別名稱也不可與檔名相同 class MyTest{ // 欄位 屬性 int i =1;//物件變數,變數名稱與上面的相同,但彼此各自維護,編譯成功 static int k=5;//類別變數 }
留言
張貼留言