歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java中的構造函數和重載

一.Java中的構造函數

構造函數是對象被創建時初始化對象的成員方法,它具有和它所在的類完全一樣的名字。構造函數只能有入口參數,沒有返回類型,因為一個類的構造方法的返回類就是類本身。構造函數定義後,創建對象時就會自動調用它,對新創建的對象分配內存空間和初始化。在 Java 中,構造函數也可以重載,當創建一個對象時, JVM 會自動根據當前對方法的調用形式在類的定義中匹配形式符合的構造方法,匹配成功後執行該構造方法。

eg:

public Class Dog
{
  private int age;
  private String name;
  //無參構造
  public Dog(){}
  //帶參構造:用於給類中的屬性賦值
  public Dog(int age,string name)
  {
    this.age=age;
  this.name=name;
  }

}

    二.Java中默認構造

  如果省略構造方法的定義,則 Java 會自動調用默認的構造方法。但是如果定義了構造方法,則系統不再提供默認的構造方法。默認的構造方法沒有任何參數,不執行任何操作。實際上,默認的構造方法的功能是調用此類的父類中的不帶參數的那個構造方法,如果父類中不存在這樣的構造方法,編譯時會產生錯誤信息。 Object 是 Java 中所有類的根,定義它的直接子類,可以省略 extends 子句,編譯器會自動包含它。

  三.方法重載

方法名稱相同,參數項不相同。那麼認為一個方法是另一個方法的重載方法。

注意:重載只跟參數有關,與返回類型無關。方法名和參數相同而返回類型不相同,不能說是重載。

public void Say(int age){}

public int Say(int age,string name){}

public String Say(String name,String age){}

  四.構造方法重載

構造方法重載是方法重載的一個典型的特例。參數列表不同。

可以通過重載構造方法來表達對象的各種多種初始化行為。也就是說在通過new語句創建一個對象時,可以實現在不同的條件下,讓不同的對象具有不同的初始化行為。

public Class Text

{

Private String name;

Private String sex;

Public Text(String name){

 this.name=name;

}

Public Text(String name,String sex){

          this.name=name;

          this.sex=sex;

}

}

Copyright © Linux教程網 All Rights Reserved