1. 程式人生 > 其它 >|NO.Z.00029|——————————|BigDataEnd|——|Java&方法封裝.V11|---------------------------------------------|Java.v11|引用變數|注意事項|

|NO.Z.00029|——————————|BigDataEnd|——|Java&方法封裝.V11|---------------------------------------------|Java.v11|引用變數|注意事項|



[BigDataJava:Java&方法封裝.V11]                                                                             [BigDataJava.面向物件] [|章節二|方法和封裝|引用變數的注意事項|]








一、引用變數的注意事項
### --- 引用變數的注意事項

~~~     ——>        引用型別變數用於存放物件的地址,可以給引用型別賦值為null,表示不指向任何物件。
~~~     ——>        當某個引用型別變數為null時無法對物件實施訪問(因為它沒有指向任何物件)。
~~~     ——>        此時,如果通過引用訪問成員變數或呼叫方法,會產生NullPointerException異常。
二、程式設計程式碼
### --- 程式設計程式碼

/*
    程式設計實現Boy類的定義
 */
public class Boy {
    
    String name; // 用於描述姓名的成員變數
    
    // 自定義構造方法
    Boy() {
        // 呼叫本類中的有參構造方法
        //this("無名");
        System.out.println("無參構造方法!");
    }
    Boy(String name) {
        // 呼叫本類中的無參構造方法
        this();
        System.out.println("=========有參構造方法!");
        this.name = name;
    }
    // 自定義成員方法實現特徵的列印
    void show() {
        System.out.println("我的名字是:" + name);
    }
    
    public static void main(String[] args) {
        
        // 1.使用無參方式構造物件並列印特徵
        Boy b1 = new Boy();
        b1.show(); // null
        
        System.out.println("-----------------------------------");
        // 2.使用有參方式構造物件並列印特徵
        Boy b2 = new Boy("張飛");
        b2.show(); // 張飛
        
        System.out.println("-----------------------------------");
        // 3.引用變數的數值可以為空
        //Boy b3 = null;
        //b3.show(); // 編譯ok,執行會發生NullPointerException空指標異常   算術異常、陣列下標越界異常
        Boy b3 = b2;
        b3.show(); // 張飛
    }
}
三、編譯列印
### --- 編譯

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

C:\Users\Administrator\Desktop>java Boy
無參構造方法!
我的名字是:null
-----------------------------------
無參構造方法!
=========有參構造方法!
我的名字是:張飛
-----------------------------------
我的名字是:張飛








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