類必須先定義才能使用。類是創建對象的模板,創建對像也叫類的實例化。
下面通過一個簡單的例子來理解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() 是類中的函數,也叫方法。
一個類可以包含以下類型變量:
構造方法
在類實例化的過程中自動執行的方法叫做構造方法,它不需要你手動調用。構造方法可以在類實例化的過程中做一些初始化的工作。
構造方法的名稱必須與類的名稱相同,並且沒有返回值。
每個類都有構造方法。如果沒有顯式地為類定義構造方法,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類的基本運行順序<br />我們以下面的類來說明一個基本的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); }}
基本運行順序是:
作為程序員,應該清楚程序的基本運行過程,否則糊里糊塗的,不利於編寫代碼,也不利於技術上的發展。