建構器也叫建構方法、建構函數,是一種特殊型別的方法,負責類別中成員變數(域)的初始化。構造器的用處是在創建物件時執行初始化,當創建一個物件時,系統會為這個物件的實例進行預設的初始化。
什麼是建構子
#1.建構器,也稱為建構方法、建構子。作用是建構出來一個類別的實例,確保物件被初始化。
2.建構器的格式: 權限修飾符 類別名稱(無參/有參){}。
3.依有無參數,可分為無參構造 和有參構造。
建構器最大的用處就是在創建物件時執行初始化,當建立一個物件時,系統會為這個物件的實例進行預設的初始化。如果想改變這種預設的初始化,就可以透過自訂構造器來實現。
建構器可以用來在初始化物件時初始化資料成員,一個類別可以有多個建構器。一個類別的構造器的名稱必須與該類別的名稱一致。要退出構造,可以使用返回語句“return;”
構造器的特性
1.與一般方法名稱不同的是,構造方法名稱必須和類名保持一致,並且沒有回傳值,甚至連void都沒有。
2.Java編譯器會自動建立無參構造函數,因此在類別中,無參構造即使沒有,我們也可省略不寫。實例化物件時無需賦值
3.倘若類別中已存在有參構造函數,則編譯器不再提供預設無參考構造。實例化物件時需賦值,不然報錯。
4.當類別實例化一個物件時會自動呼叫建構方法。
5.不能被static、final、synchronized、abstract和native修飾。建構方法不能被子類別繼承
6.每個類別可以有零個或多個建構方法.
範例一:無參考構造
學生類別
public class Student { //权限修饰符是public,表示内部属性能被其他类访问到。若使用private,则需要set/get才能访问 public String name; public int age; //无参构造,编译器自带,可不写。 public Student(){ System.out.println("括号内无参数,这就是无参构造"); } }
測驗類別
public class Test { public static void main(String[] args) { Student st = new Student();//创建对象,括号内无需赋值 //没赋值的情况下,字符类型默认值为null,数值类型默认值为0 System.out.println(st.name+" "+st.age);//null,0 //对属性进行赋值 st.name="Tom猫"; st.age=5; System.out.println(st.name+"今年"+st.age+"岁了"); } }
結果
括号内无参数,这就是无参构造 null 0 Tom猫今年5岁了
範例二:有參考文獻
學生類別
public class Student { //权限修饰符是public,表示内部属性能被其他类访问到。若使用private,则需要set/get才能访问 public String name; public int age; //无参构造最好也写上 public Student(){ } public Student(String name,int age){ System.out.println("括号内有参数,就是有参构造"); //将形参变量的值,赋给成员变量。 this.name = name; this.age = age; //this.name = "吴邪" 若直接在构造方法内部赋值,则优先执行其内部的值,即吴邪会替掉Tom猫 } }
測試類別
public class Test { public static void main(String[] args) { //创建对象。赋值后,定义的值会传递给构造器中的形参变量。 Student st = new Student("Tom猫",5);//创建对象,须在括号内赋值,不然报错 //使用对象调用成员变量(java对象只能调用成员变量) System.out.println(st.name+"今年 "+st.age+"岁了"); } }
結果
括号内有参数,就是有参构造 Tom猫今年5岁了
以上是java構造器是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!