1. 程式人生 > 其它 >|NO.Z.00019|——————————|BigDataEnd|——|Java&方法封裝.V01|---------------------------------------------|Java.v01|構造方法|概念使用|

|NO.Z.00019|——————————|BigDataEnd|——|Java&方法封裝.V01|---------------------------------------------|Java.v01|構造方法|概念使用|



[BigDataJava:Java&方法封裝.V01]                                                                             [BigDataJava.面向物件] [|章節二|方法和封裝|構造方法概念使用|構造方法使用|]








一、[構造方法概念使用]——[構造方法的作用]
### --- 構造方法概念使用

~~~     # 構造方法的基本概念
class 類名{
    類名(形參列表) {
        構造方法體;
    }
}
### --- 舉例說明

class Person {
    Person() { -Person類中的構造方法
    }
}
二、構造方法說明
### --- 構造方法說明

~~~     ——>        構造方法名與類名完全相同並且沒有返回值型別,連void都不許有。
### --- 預設構造方法

~~~     ——>        當一個類中沒有定義任何構造方法時,編譯器會自動新增一個無參空構造構造方法,
~~~     ——>        叫做預設/預設構造方法,如:Person(){}
~~~     ——>        若類中出現了構造方法,則編譯器不再提供任何形式的構造方法。
三、構造方法的作用
### --- 構造方法的作用

~~~     ——>        使用new關鍵字建立物件時會自動呼叫構造方法實現成員變數初始化工作。
四、程式設計程式碼
### --- 程式設計程式碼

/*
    程式設計實現Person類的定義
 */
public class Person {
    
    String name; // 用於描述姓名的成員變數
    int age;     // 用於描述年齡的成員變數
    
    // 自定義構造方法
    // String s = "張飛";
    // int i = 30;
    // String s = "關羽";
    // int i = 35; 
    Person(String name, int age) {
        //System.out.println("我就是自定義的構造方法!");
        //name = "張飛";
        //age = 30;
        this.name = name;
        this.age = age;
    }
    // 自定義無參構造方法
    Person() {
    }
    
    // 自定義成員方法實現所有特徵的列印  
    void show() {
        System.out.println("我是" + name + ",今年" + age + "歲了!");
    }

    public static void main(String[] args) {
        
        // 1.宣告一個Person型別的引用指向Person型別的物件
        // 當類中沒有提供構造方法時,則下面呼叫預設構造方法,若類中提供構造方法後,則下面呼叫類中提供的版本
        Person p1 = new Person("張飛", 30);
        // 並列印特徵
        p1.show();  // null 0  張飛  30
        
        Person p2 = new Person("關羽", 35);
        p2.show();  // 關羽 35
        
        Person p3 = new Person();
        p3.show(); // null 0    
    }
}
五、編譯列印
### --- 編譯

C:\Users\Administrator\Desktop>javac Person.java
### --- 列印輸出

C:\Users\Administrator\Desktop>java Person
我是張飛,今年30歲了!
我是關羽,今年35歲了!
我是null,今年0歲了!








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)