国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java類的定義以及執行順序學習教程

2019-11-26 14:58:20
字體:
來源:轉載
供稿:網友

類必須先定義才能使用。類是創建對象的模板,創建對象也叫類的實例化。

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

public class Dog{  String name;  int age;    void bark(){ // 汪汪叫    System.out.println("汪汪,不要過來");  }   void hungry(){ // 饑餓    System.out.println("主人,我餓了");  }}


對示例的說明:

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

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

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

構造方法

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

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

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

下面是一個構造方法示例:

public class Dog{  String name;  int age;    // 構造方法,沒有返回值  Dog(String name1, int age1){    name = name1;    age = age1;    System.out.println("感謝主人領養了我");  }    // 普通方法,必須有返回值  void bark(){    System.out.println("汪汪,不要過來");  }   void hungry(){    System.out.println("主人,我餓了");  }    public static void main(String arg[]){    // 創建對象時傳遞的參數要與構造方法參數列表對應    Dog myDog = new Dog("花花", 3);  }}

運行結果:

感謝主人領養了我

說明:

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

創建對象

對象是類的一個實例,創建對象的過程也叫類的實例化。對象是以類為模板來創建的。

在Java中,使用new關鍵字來創建對象,一般有以下三個步驟:
聲明:聲明一個對象,包括對象名稱和對象類型。
實例化:使用關鍵字new來創建一個對象。
初始化:使用new創建對象時,會調用構造方法初始化對象。

例如:

Dog myDog; // 聲明一個對象myDog = new Dog("花花", 3); // 實例化


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

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


訪問成員變量和方法

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

// 實例化Dog myDog = new Dog("花花", 3);// 通過點號訪問成員變量myDog.name;// 通過點號訪問成員方法myDog.bark();

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

public class Dog{  String name;  int age;    Dog(String name1, int age1){    name = name1;    age = age1;    System.out.println("感謝主人領養了我");  }    void bark(){    System.out.println("汪汪,不要過來");  }   void hungry(){    System.out.println("主人,我餓了");  }    public static void main(String arg[]){    Dog myDog = new Dog("花花", 3);    // 訪問成員變量    String name = myDog.name;    int age = myDog.age;    System.out.println("我是一只小狗,我名字叫" + name + ",我" + age + "歲了");    // 訪問方法    myDog.bark();    myDog.hungry();  }}

運行結果:

感謝主人領養了我我是一只小狗,我名字叫花花,我3歲了汪汪,不要過來主人,我餓了

Java類的基本運行順序
我們以下面的類來說明一個基本的 Java 類的運行順序:

public class Demo{  private String name;  private int age;  public Demo(){    name = "微學苑";    age = 3;  }  public static void main(String[] args){    Demo obj = new Demo();    System.out.println(obj.name + "的年齡是" + obj.age);  }}

基本運行順序是:

  • 先運行到第 9 行,這是程序的入口。
  • 然后運行到第 10 行,這里要 new 一個Demo,就要調用 Demo 的構造方法。
  • 就運行到第 5 行,注意:可能很多人覺得接下來就應該運行第 6 行了,錯!初始化一個類,必須先初始化它的屬性。
  • 因此運行到第 2 行,然后是第 3 行。
  • 屬性初始化完過后,才回到構造方法,執行里面的代碼,也就是第 6 行、第 7 行。
  • 然后是第8行,表示 new 一個Demo實例完成。
  • 然后回到 main 方法中執行第 11 行。
  • 然后是第 12 行,main方法執行完畢。

作為程序員,應該清楚程序的基本運行過程,否則糊里糊涂的,不利于編寫代碼,也不利于技術上的發展。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 承德县| 崇州市| 滨州市| 广水市| 蒙山县| 汾阳市| 开阳县| 临洮县| 庄河市| 吴旗县| 云和县| 江西省| 通许县| 玛沁县| 连平县| 石城县| 藁城市| 蒙自县| 温州市| 米泉市| 济源市| 集安市| 嵩明县| 突泉县| 吴忠市| 右玉县| 新乡市| 敦煌市| 友谊县| 营山县| 乌什县| 乃东县| 德江县| 梅州市| 肥东县| 钟山县| 开阳县| 宁远县| 万全县| 夏河县| 营口市|