1.Java類的定義及其執行個體化

來源:互聯網
上載者:User

標籤:

類必須先定義才能使用。類是建立對象的模板,建立對象也叫類的執行個體化。

下面通過一個簡單的例子來理解Java中類的定義:

  1. public class Dog{
  2.     String name;
  3.     int age;
  4.    
  5.     void bark(){  // 汪汪叫
  6.         System.out.println("汪汪,不要過來");
  7.     }
  8.  
  9.     void hungry(){  // 饑餓
  10.         System.out.println("主人,我餓了");
  11.     }
  12. }

 

對樣本的說明:

  • public 是類的修飾符,表明該類是公用類,可以被其他類訪問。修飾符將在下節講解。
  • class 是定義類的關鍵字。
  • Dog 是類名稱。
  • name、age 是類的成員變數,也叫屬性;bark()、hungry() 是類中的函數,也叫方法。


一個類可以包含以下類型變數:

  • 局部變數:在方法或者語句塊中定義的變數被稱為局部變數。變數聲明和初始化都是在方法中,方法結束後,變數就會自動銷毀。
  • 成員變數:成員變數是定義在類中、方法體之外的變數。這種變數在建立對象的時候執行個體化(分配記憶體)。成員變數可以被類中的方法和特定類的語句訪問。
  • 類變數:類變數也聲明在類中,方法體之外,但必須聲明為static類型。static 也是修飾符的一種,將在下節講解。

 

構造方法

在類執行個體化的過程中自動執行的方法叫做構造方法,它不需要你手動調用。構造方法可以在類執行個體化的過程中做一些初始化的工作。

構造方法的名稱必須與類的名稱相同,並且沒有傳回值。

每個類都有構造方法。如果沒有顯式地為類定義構造方法,Java編譯器將會為該類提供一個預設的構造方法。

下面是一個構造方法樣本:

  1. public class Dog{
  2.     String name;
  3.     int age;
  4.    
  5.     // 構造方法,沒有傳回值
  6.     Dog(String name1, int age1){
  7.         name = name1;
  8.         age = age1;
  9.         System.out.println("感謝主人領養了我");
  10.     }
  11.    
  12.     // 普通方法,必須有傳回值
  13.     void bark(){
  14.         System.out.println("汪汪,不要過來");
  15.     }
  16.  
  17.     void hungry(){
  18.         System.out.println("主人,我餓了");
  19.     }
  20.    
  21.     public static void main(String arg[]){
  22.         // 建立對象時傳遞的參數要與構造方法參數列表對應
  23.         Dog myDog = new Dog("花花", 3);
  24.     }
  25. }

運行結果:
感謝主人領養了我

說明:

  • 構造方法不能被顯示調用。
  • 構造方法不能有傳回值,因為沒有變數來接收傳回值。

 

建立對象

對象是類的一個執行個體,建立對象的過程也叫類的執行個體化。對象是以類為模板來建立的。

在Java中,使用new關鍵字來建立對象,一般有以下三個步驟:

  • 聲明:聲明一個對象,包括對象名稱和物件類型。
  • 執行個體化:使用關鍵字new來建立一個對象。
  • 初始化:使用new建立對象時,會調用構造方法初始化對象。


例如:

  1. Dog myDog; // 聲明一個對象
  2. myDog = new Dog("花花", 3); // 執行個體化

也可以在聲明的同時進行初始化:

  1. Dog myDog = new Dog("花花", 3);

 

訪問成員變數和方法

通過已建立的對象來訪問成員變數和成員方法,例如:

  1. // 執行個體化
  2. Dog myDog = new Dog("花花", 3);
  3. // 通過點號訪問成員變數
  4. myDog.name;
  5. // 通過點號訪問成員方法
  6. myDog.bark();


下面的例子示範了如何訪問成員變數和方法:

  1. public class Dog{
  2.     String name;
  3.     int age;
  4.    
  5.     Dog(String name1, int age1){
  6.         name = name1;
  7.         age = age1;
  8.         System.out.println("感謝主人領養了我");
  9.     }
  10.    
  11.     void bark(){
  12.         System.out.println("汪汪,不要過來");
  13.     }
  14.  
  15.     void hungry(){
  16.         System.out.println("主人,我餓了");
  17.     }
  18.    
  19.     public static void main(String arg[]){
  20.         Dog myDog = new Dog("花花", 3);
  21.         // 訪問成員變數
  22.         String name = myDog.name;
  23.         int age = myDog.age;
  24.         System.out.println("我是一隻小狗,我名字叫" + name + ",我" + age + "歲了");
  25.         // 存取方法
  26.         myDog.bark();
  27.         myDog.hungry();
  28.     }
  29. }

運行結果:
感謝主人領養了我
我是一隻小狗,我名字叫花花,我3歲了
汪汪,不要過來
主人,我餓了

1.Java類的定義及其執行個體化

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.