【構造方法】

一、構造方法是一種特殊的方法,與一般的方法不同是: 
  1.構造方法的名字必須與定義他的類名完全相同,沒有返回類型,甚至連void也沒有。 
  2.構造方法的調用是在創建一個對象時使用new操作進行的。構造方法的作用是初始化對象。 
  3.不能被static、final、synchronized、abstract和native修飾。構造方法不能被子類繼承。

例:

public class A{
   public A(){
      System.out.println("調用了無參的構造函數");
   }
   public A(String mess){
      System.out.println("調用了有參的構造函數\n"+
         "參數內容爲:"+mess);
   }
}

public class Test{
   public static void main(String [] args){
       A a_1=new A();//調用無參的構造函數
       A a_2=new A("Hello");//調用有參的構造函數
   }
}
 輸出結果:

調用無參的構造函數 
調用有參的構造函數
參數內容爲:Hello


使用super調用父類構造器的語句必須是子類構造器的第一條語句

如果子類構造器沒有顯式地調用父類的構造器,則將自動調用父類的默認(沒有參數)的構造器。如果父類沒有不帶參數的構造器,並且在子類的構造器中又沒有顯式地調用父類的構造器,則java編譯器將報告錯誤

public class A{
   public A(){
      System.out.println("調用了A的無參構造函數");
   }
   public A(String mess){
      System.out.println("調用了A的有參的構造函數\n"+
         "參數內容爲:"+mess);
   }
}
public class B extends A{
   public B(){
   	  System.out.println("調用了B的無參構造函數");
   }
   public B(String mess){
      super(mess);
      System.out.println("調用了B的有參構造函數\n"+
         "參數內容爲:"+mess);
   }
}
public class Test{
   public static void main(String [] args){
       B b_01=new B();
       B b_02=new B("你好");
   }
}
輸出結果:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章