「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;//類別變數
 
}




留言

這個網誌中的熱門文章

[Excel]國曆轉農曆VBA

「CSS」「div區塊介紹」 三欄式網頁排版設計

「Java」「For迴圈」 三角形