什么是構造方法?


構造方法

概述

構造方法: 也叫做構造器 構造函數 ,本質就是一個特殊的方法.

特點

1. 構造⽅法的⽅法名和類名⼀致(包括⼤⼩寫)
2. 構造⽅法沒有返回值類型(連void都沒有)
3. 構造⽅法可以重載
4. 構造⽅法不可以⼿動調⽤,只能在創建對象的時,jvm⾃動調⽤
5. 構造⽅法在創建對象時只能調⽤⼀次

作用

1. 可以為屬性進行賦值
2. 用於創建對象  ---> 角色類似於 人出生時候的臍帶 

注意事項

當⼀個類中,沒有定義構造⽅法 系統會⾃動提供⼀個公開的 ⽆參的構造⽅法 當類中已經定義了構
造⽅法,系統不再提供⽆參公開構造,如果需要使⽤⽆參的構造 那么必須⾃⼰定義出來 ⼀般開發如果
定義了有參的構造 都會再定義⼀個⽆參的構造

案例

public class Demo1 {
    public static void main(String[] args) {
        // 創建一個人類的對象
        // Person p = new Person();// 在創建對象的時候 構造方法就被調用了
//        Person p = new Person("劉能",47);
//        // 構造方法的角色 
//        //調用成員方法
//        //p.eat();
//
//        Person p2 = new Person();

//        Person p1 = new Person();// 名字是默認值 null  age 也是默認值  0
//
//        System.out.println(p1.name);
//        System.out.println(p1.age);
//
//        //后天進行 名字 和年齡的賦值
//        p1.name = "李程";
//        p1.age = 13;

            Person p2 = new Person("劉能",1);
            System.out.println(p2.name);
            System.out.println(p2.age);
    }
}

//定義一個Person類
class Person{

    // 定義一個構造方法
    // 方法名 :  Person  返回值類型: 沒有類型 連void都沒有  形式參數列表: 和 普通的方法一樣
    // 定義一個無參數的構造方法
    public Person(){
        System.out.println("我是一個無參數的構造方法");

    }

    // 定義一個有參數的構造方法
    public  Person(String n,int a){
        // 賦值
        name = n;
        age = a;
        System.out.println("我是一個有參數的構造方法");
    }

    //屬性
    String name;
    int age;
    //行為
    public  void eat(){
        System.out.println("人吃飯");
    }
}


//案例2: 關於系統為類提供無參數的構造方法
package com.ujiuye.day08;

public class Demo1 {
    public static void main(String[] args) {
            // 創建一個對象
        Person p1 = new Person();
    }
}

//定義一個Person類
class Person{

    // 定義一個構造方法
    // 方法名 :  Person  返回值類型: 沒有類型 連void都沒有  形式參數列表: 和 普通的方法一樣
    // 定義一個無參數的構造方法
    public Person(){
        System.out.println("我是一個無參數的構造方法");

    }
//
//    // 定義一個有參數的構造方法
    public  Person(String n,int a){
        // 賦值
        name = n;
        age = a;
        System.out.println("我是一個有參數的構造方法");
    }

    //屬性
    String name;
    int age;
    //行為
    public  void eat(){
        System.out.println("人吃飯");
    }


}


免責聲明!

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



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