方法的過載有3個條件:
1、函式位於同乙個類下面;
2、方法名必須一樣;
3、方法的引數列表不一樣。
比如有以下的例子:
class student
void action(int i)
void action(double j)
}
該類中定義了3個方法,但是3個方法的引數列表不一樣;下面在主函式中呼叫這個類:
public class test
}
看看執行結果:
從控制台的輸出可以看出,我在主函式中例項化乙個student物件,分別呼叫了這個物件的3中方法,由於3個方法的引數不一樣,所以可以看到輸出的結果也不一樣;
建構函式的使用:
定義乙個sutdent類,類裡面定義兩個屬性:
class student
此時的student類中沒有建構函式,系統會自動新增乙個無參的建構函式,這個建構函式的名稱必須和類的名稱完全一樣,大小寫也必須相同,系統編譯完了之後是以下的情況:
class student
string name;
int age;
}
主函式中例項化兩個物件:
public class test
}
從主函式可以看出,此時的student物件的屬性比較少,建立的例項也比較少,如果屬性多再建立多個例項的話,這個**的量就很大,這時候,我們可以新增乙個帶引數的建構函式,如下:
class student
string name;
int age;
}
主函式的**如下:
public class test
}
此時系統執行的結果如圖:
從執行結果可以看出,我們在例項化student物件的時候,呼叫了帶引數的建構函式,節省了很多的**,要注意:如果我們在student類中定義了乙個帶引數的建構函式,但是沒有寫無參的建構函式,這個時候我們在主函式中就不能定義 student st = new student();如果在student類中加上無參的建構函式就可以實現這樣的例項化。
java,建構函式,過載
class tree tree int i public void plant public void plant string name static void print string s public class overloading tree t new tree 如果傳入的實際引數型別 ...
java 構造方法過載
構造方法之間也可以互相呼叫,只要乙個類裡面有多個構造方法,那它們一定是過載的,因為構造方法的名字與類名一樣 構造方法過載只需要看引數即可。構造方法呼叫需要用this 來呼叫.括號中的引數表示目標構造方法的引數。this 對目標構造方法的呼叫,必須放在構造方法的第一行 它的前面不能有任何可執行的 pu...
JAVA中封裝和構造方法以及過載的使用
1.封裝 封裝 private私有化成員屬性,提供公開public的getter setter getter 取值 setter 賦值 在哪兒用 在構造方法中初始化屬性值的用!或者物件名.set get 進行使用!好處 隱藏內部實現細節,保證 的安全,同時也可以提公升資料的安全性 樣例 public...