1. 程式人生 > >Java程式設計思想-練習題(4.7)

Java程式設計思想-練習題(4.7)

  1. 預設構造器建立一個類(沒有自變數),列印一條訊息。建立屬於這個類的一個物件。
class Bowl {
    Bowl(){
        System.out.println("this is class Bowl");
    }
}
public class Test {
    public static void main(String[] args) {
        new Bowl();
}   
}

執行結果:
this is class Bowl
2. 練習1的基礎上增加一個過載的構造器,令其採用一個String的變數, 並隨同自己的訊息打印出來。

class Bowl {
    Bowl(){
        System.out
.println("this is class Bowl"); } Bowl(String s){ System.out.println("this is class Bowl " + s); } } public class Test { public static void main(String[] args) { new Bowl("hello"); } }

執行結果:
this is class Bowl hello
3. 以練習2建立的類為基礎,建立屬於它物件控制代碼的一個數組,但不要實際建立物件並分配到數組裡。執行程式時,注意是否列印來自構建器呼叫的初始化資訊。

class Bowl {
    Bowl(){
        System.out.println("this is class Bowl");
    }
    Bowl(String s){
        System.out.println("this is class Bowl " + s);
    }
}
public class Test {
    public static void main(String[] args) {
        Bowl[] b = new Bowl[5];
        System.out.println(b.length);
}   
}

執行結果:
5
這種方式並沒有實際建立Bowl物件,故沒有呼叫Bowl的構造器。
僅僅表示建立Bowl控制代碼陣列,陣列內的控制代碼此時都為null。

  1. 建立同控制代碼陣列聯絡起來的物件,並最終完成練習3。
class Bowl {
    Bowl(){
        System.out.println("this is class Bowl");
    }
    Bowl(String s){
        System.out.println("this is class Bowl " + s);
    }
}
public class Test {
    public static void main(String[] args) {
        Bowl[] b = new Bowl[5];
        for(int i = 0;i < b.length; i++){
            b[i] = new Bowl();
        }
        System.out.println(b.length);
}

執行結果:
this is class Bowl
this is class Bowl
this is class Bowl
this is class Bowl
this is class Bowl
5
此時建立5個Bowl物件,並將其與控制代碼陣列關聯起來。