使用構造器時需要記住:
1.構造器必須與類同名(如果一個源檔案中有多個類,那麼構造器必須與公用類同名)
2.每個類可以有一個以上的構造器
3.構造器可以有0個、1個或1個以上的參數
4.構造器沒有傳回值
5.構造器總是伴隨著new操作一起調用
樣本:
A.java
Java代碼
- public class A{
- public A(){
- System.out.println("調用了無參的建構函式");
- }
- public A(String mess){
- System.out.println("調用了有參的建構函式\n"+
- "參數內容為:"+mess);
- }
- }
Test.java
Java代碼
- public class Test{
- public static void main(String [] args){
- A a_1=new A();//調用無參的建構函式
- A a_2=new A("Hello");//調用有參的建構函式
- }
- }
輸出結果:
繼承與建構函式
使用super調用父類構造器的語句必須是子類構造器的第一條語句
如果子類構造器沒有顯式地調用父類的構造器,則將自動調用父類的預設(沒有參數)的構造器。如果父類沒有不帶參數的構造器,並且在子類的構造器中又沒有顯式地調用父類的構造器,則java編譯器將報告錯誤
樣本:
A.java
Java代碼
- public class A{
- public A(){
- System.out.println("調用了A的無參建構函式");
- }
- public A(String mess){
- System.out.println("調用了A的有參的建構函式\n"+
- "參數內容為:"+mess);
- }
- }
B.java
Java代碼
- public class B extends A{
- public B(){
- System.out.println("調用了B的無參建構函式");
- }
- public B(String mess){
- super(mess);
- System.out.println("調用了B的有參建構函式\n"+
- "參數內容為:"+mess);
- }
- }
Test.java
Java代碼
- public class Test{
- public static void main(String [] args){
- B b_01=new B();
- B b_02=new B("你好");
- }
- }
輸出結果: