Java方法的過載以及建構函式的理解

2021-06-08 08:52:28 字數 1478 閱讀 1618

方法的過載有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...