1. 程式人生 > 其它 >|NO.Z.00022|——————————|BigDataEnd|——|Java&方法封裝.V04|---------------------------------------------|Java.v04|person類.v00|過載使用|

|NO.Z.00022|——————————|BigDataEnd|——|Java&方法封裝.V04|---------------------------------------------|Java.v04|person類.v00|過載使用|



[BigDataJava:Java&方法封裝.V04]                                                                             [BigDataJava.面向物件] [|章節二|方法和封裝|person類中過載使用|]








一、person類中過載的使用
### --- 案例題目:

~~~     ——>    自定義成員方法實現年齡增長一歲的行為
~~~     ——>    自定義成員方法實現年齡增長引數指定數值的行為
~~~     ——>    自定義成員方法實現年齡增長引數指定數值的行為
二、程式設計程式碼
### --- 程式設計程式碼

/*
    程式設計實現Person類的定義
 */
public class Person {
    
    String name; // 用於描述姓名的成員變數
    int age;     // 用於描述年齡的成員變數
    
    // 自定義構造方法
    // String s = "張飛";
    // int i = 30;
    // String s = "關羽";
    // int i = 35; 
    Person(String s, int i) {
        //System.out.println("我就是自定義的構造方法!");
        //name = "張飛";
        //age = 30;
        name = s;
        age = i;
    }
    // 自定義無參構造方法
    Person() {
    }
    
    // 自定義成員方法實現所有特徵的列印  隱含著this關鍵字,this關鍵字代表當前正在呼叫的物件
    void show() {
        System.out.println("我是" + this.name + ",今年" + this.age + "歲了!");
    }
    // 自定義成員方法實現年齡增長一歲的行為
    void grow() {
        age++;
    }
    // 自定義成員方法實現年齡增長引數指定數值的行為
    void grow(int i) {
        age += i;
    }
    
    
    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
        
        System.out.println("----------------------------------------------------");
        // 2.實現過載方法的呼叫和測試
        p1.grow();
        p1.show(); // 張飛 31
        p1.grow(3);
        p1.show(); // 張飛 34
        
    }
}
三、編譯列印
### --- 編譯

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

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








===============================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)