首頁  >  文章  >  Java  >  java構造器是什麼?

java構造器是什麼?

青灯夜游
青灯夜游原創
2019-05-22 17:05:5330145瀏覽

建構器也叫建構方法、建構函數,是一種特殊型別的方法,負責類別中成員變數(域)的初始化。構造器的用處是在創建物件時執行初始化,當創建一個物件時,系統會為這個物件的實例進行預設的初始化。

java構造器是什麼?

什麼是建構子

#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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn