JAVA基礎——構造函數方法總結(有參構造和無參構造)


 


使用構造器時需要記住:

 

1.構造器必須與類同名(如果一個源文件中有多個類,那么構造器必須與公共類同名)

2.每個類可以有一個以上的構造器

3.構造器可以有0個、1個或1個以上的參數

4.構造器沒有返回值

5.構造器總是伴隨着new操作一起調用

 


構造方法: 語法       

public 類名(){}  (構造方法沒有返回值, 構造方法:一般用於給對象賦初始值)


 

解決:參數名和 屬性名 相同  

  1.  修改參數名(不推薦)

  2. 使用this關鍵字       

        this:  關鍵字 

             1、指代當前對象     

              2、指代當前類     *

              3、 指代構造方法 this():   表示當前類的構造方法,只能放在首行

注意: 在新建對象的時候 實際上調用了類的無參(沒有參數)的構造方法一般默認 (在類中可以隱藏)


 

 示例1:

 public class Student {

 // 成員變量     

private String name;     

private int age;

 public Student(){} //無參構造

 public Student(String name, int age) {      

   this.name = name;       

   this.age = age;     }//有參構造

示例2:

A.java

  1. public class A{  
  2.    public A(){  
  3.       System.out.println("調用了無參的構造函數");  
  4.    }  
  5.    public A(String mess){  
  6.       System.out.println("調用了有參的構造函數\n"+  
  7.          "參數內容為:"+mess);  
  8.    }  
  9. }  

 Test.java

 

  1. public class Test{  
  2.    public static void main(String [] args){  
  3.        A a_1=new A();//調用無參的構造函數  
  4.        A a_2=new A("Hello");//調用有參的構造函數  
  5.    }  
  6. }  

 輸出結果:調用了無參的構造函數
                   調用了有參的構造函數
                   參數內容為:Hello

 


繼承與構造函數

super關鍵字

  1. 只能指代父類對象
  2. 指代父類的構造方法,只能放在首行

注意

  1. 子類必須通過super關鍵字調用父類有參數的構造函數
  2. 使用super調用父類構造器的語句必須是子類構造器的第一條語句

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

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM