1. 程式人生 > >JAVA初級(六)物件和類(1)基礎介紹和使用,構造方法介紹

JAVA初級(六)物件和類(1)基礎介紹和使用,構造方法介紹

我是導航

1,物件和類基本概念

物件:物件是類的一個例項(物件不是找個女朋友),有狀態和行為。例如,一條狗是一個物件,它的狀態有:顏色、名字、品種;行為有:搖尾巴、叫、吃等。
類:類是一個模板,它描述一類物件的行為和狀態。–來自菜鳥教程

比如,我們有一個蘋果手機,他有拍照,打電話等功能.有開機待機啥的狀態.有尺寸等屬性.還有appStore,這個iphone就能稱為是物件.而所有手機都有打電話等功能.手機就被稱為類

2,JAVA中物件和類的基礎使用

public class Phone {
    public double size=5.5;

    public void call(String phoneNum){
        System.out.println("正在撥打電話:"+phoneNum);
    }

    public void size(){
        System.out.println("這個電話的尺寸是:"+size);
    }

    public void picture(){
        System.out.println("啟動拍照");
    }
}

定義一個類,就這麼寫 public class 類名
比如這這段程式碼定義一個手機類.
它有撥打電話的功能call();有拍照功能picture();有顯示尺寸的功能size();還有尺寸屬性.這樣我們就定義出了一個手機類。
但如果我們要使用這三個功能怎麼做?

 public static void main(String[] args) {
        Phone phone = new Phone();
        phone.call("10086");//撥打電話
        phone.size();//顯示尺寸
        phone.picture();//拍照
    }

結果輸出:
正在撥打電話:10086
這個電話的尺寸是:5.5
啟動拍照

這段程式碼的意思就是,你想要使用這三個功能,你是不是首先得搞到一個手機?.那麼如何搞到這個手機呢?
Phone phone = new Phone(); 這樣就搞到一個手機了。這個過程稱為建立一個物件.就是從手機類中建立一個物件出來。
類名 物件名稱 = new 類名();這樣就能建立一個物件了.
new 這個關鍵字就是建立.
創建出來物件了,拿到手機了,那我們就能使用它的東西了.
直接物件名稱.方法() 就能直接使用功能了。就像上面的phone.size()直接顯示尺寸.

3,類的組成

那麼在JAVA中一個類主要由什麼組成?
構造方法,成員變數,方法.

1,構造方法

什麼是構造方法?就是在建立一個物件時同時會執行的方法.
也就是會自動呼叫的初始化方法.
在JAVA中怎麼寫?

public class Phone {
    public Phone(){
        System.out.println("建立了一個phone物件");
    }
}

構造方法就在類裡面這麼寫, 修飾符 類名([引數]){}
[]表示可選
方法名和類名一致,沒有返回值.
然後直接執行以下這段程式碼

 public static void main(String[] args) {
        Phone phone = new Phone();
    }

結果輸出在這裡插入圖片描述
到這,應該就能初步瞭解構造方法了吧
那麼假如這個手機物件啟動時馬上就撥打我給他設定的電話。如何做?

public class Phone {
    public Phone(String phoneNum){
        System.out.println("正在撥打電話:"+phoneNum);
    }
}

這樣,在構造方法裡面寫一個引數.
然後執行以下程式碼

public static void main(String[] args) {
        Phone phone = new Phone("10086");
    }

結果輸出
在這裡插入圖片描述

到這應該就能體會到構造方法的作用了吧?

但如果我有時候要它打電話有時候要它拍照怎麼辦?

public class Phone {
    public Phone(String phoneNum){
        System.out.println("正在撥打電話:"+phoneNum);
    }
    public Phone(){
        System.out.println("啟動拍照");
    }
}

這樣寫,
然後執行以下語句

 public static void main(String[] args) {
        Phone phone = new Phone();//我要它拍照
        Phone phone1 = new Phone("10086");//我要它打電話給10086
    }

結果輸出:
在這裡插入圖片描述
到這應該就能進一步的瞭解構造方法了吧?建立一個物件它只能執行一個構造方法.至於要執行哪一個,根據你的引數來選擇.
總結
1,構造方法是什麼?
建立物件時執行的方法
2,有多個構造方法時,如何選擇?
根據輸入的引數選擇
注意點:
1,如果你建立了一個帶引數的構造方法,比如上面的打電話.而沒有建立沒有引數的構造方法,那麼此時你這麼寫Phone phone = new Phone();會報錯.因為它沒有不帶引數的構造方法.
->因此,如果你需要這樣寫Phone phone = new Phone();不報錯,那就加上無參的構造方法.
2,你發現我一開始沒有寫構造方法,Phone phone = new Phone();它也不報錯.->總結,不寫構造方法時.系統會預設建立一個無參的構造方法.

成員變數,方法下回在介紹.