我先解釋一下題意,現在要設計一個容器類(intArray2),這個容器的本質就是一段數組(暫且只裝int值),這個數組可以的索引可以根據使用者傳入的數據多少而自動增長,而自動產生新數組覆蓋以前的,那麼我的疑問就是如下這個....為什麼構造方法要像第二圖裡那麼寫,而不能照我想的第一張圖裡的寫
我覺的應該如此寫(編譯通過,運行報錯,失敗):
正確的寫法,為什麼要這麼寫兩個:
測試代碼,實參傳或不傳,傳什麼值,都不影響結果,為什麼:
第一個,以為save這個變量在定義的時候,還沒有被初始化,而你在下面構造函數裡面的save = new int[save.length],中括號裡面的save並沒有具體的內容,所以是不對的。
第二個,定義了兩個構造函數,他們是沒有沖突的,你還可以定義第三第四五六七八九十十一個,只要他們的參數個數或順序不同就行了。
第三個,上面已經解釋了,他們是不同的構造函數,不傳參數,調用的是無參構造函數(類默認就有的的),你傳來參數,調用的就會是對應的構造函數。這樣。