《Java基礎知識》Java類的定義及其實例化


類必須先定義才能使用。類是創建對象的模板,創建對象也叫類的實例化。 
下面通過一個簡單的例子來理解Java中類的定義:

public class Dog {
    String name;
    int age;

    void bark()//汪汪叫
    {
        System.out.println("汪汪,不要過來");
    }
    void hungry()
    {
        System.out.println("主人,我餓了");
    }
}

對示例的說明:

1.public 是類的修飾符,表明該類是公共類,可以被其他類訪問。
2.class 是定義類的關鍵字。
3.Dog是類的名稱。
4.name,age是類的成員變量,也叫屬性;bark(),hungry()是類中的函數,也叫方法。
一個類可以包含以下類型變量:
1.局部變量:在方法或者語句塊中定義的變量被稱為局部變量。變量聲明和初始化都是在方法中,方法結束后,變量就會自動銷毀。
2.成員變量:成員變量是定義在類中,方法體之外的變量。這種變量在創建對象的時候實例化(分配內存)。成員變量可以被類中的方法和特定類的語句訪問。
3.類變量:類變量也聲明在類中,方法體之外,但必須聲明為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[] args)
    {
        //創建對象時傳遞的參數要與構造方法參數列表對應
        Dog myDog = new Dog("花花",3);
    }
}

運行結果:

public class People
{
    String name;
    String sex;
    int age;

    //無參的構造方法(可以不寫編譯器自動加上,前提是沒有任何其他構造方法)
    People(){}

    //有參的構造方法
    People(String name,String sex,int age)
    {
        this.name = name;
        this.sex = sex;
        this.age = age;
    }

    //部分初始化
    People(String name)
    {
        this.name = name;
    }

    People(String name,int age)
    {
        this.name = name;
        this.age = age;
    }
    public static void main(String[] args)
    {
        People p = new People();
        System.out.println(p.name);
        System.out.println(p.sex);
        System.out.println(p.age);

        People p1 = new People("張三","男",30);
        System.out.println(p1.name+","+p1.sex+","+p1.age);

        People p2 = new People("老王");
        System.out.println(p2.name);

        People p3 = new People("小老虎",3);
        System.out.println(p3.name+","+p2.age);
    }
}

說明:

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

創建對象
對象是類的一個實例,創建對象的過程也叫類的實例化。對象是以類為模板來創建的。
在Java中,使用new關鍵字來創建對象,一般有以下三個步驟:

1.聲明:聲明一個對象,包括對象名稱和對象類型
2.實例化:使用關鍵字new來創建一個對象。
3.初始化:使用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[] args)
    {
        Dog myDog = new Dog("花花",3);
        //訪問成員變量
        String name = myDog.name;
        int age = myDog.age;
        System.out.println("我是一只小狗,我名字叫" + name + ",我" + age + "歲了");
        //訪問方法
        myDog.bark();
        myDog.hungry();
    }
}

運行結果:

 參考:https://blog.csdn.net/yongchaocsdn/article/details/53572983


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM