(1)特點
創建對象時,對象會去調用構造器
(2)應用場景
創建對象時,同時完成對對象的成員變量(屬性),的初始化
(3)注意事項
//Sutdent構造器
注意:方法沒有規定返回類型
package constructor;public class Student {//構造器:對象名稱和方法名稱一樣,只要參數列表不一樣就可以創造很多構造器public Student(){//無參數構造器System.out.println("觸發無參數構造器");}public Student(String name,double score){//有參數構造器System.out.println("觸發有參數構造器");}}
調用構造器:
package constructor;public class Test {public static void main(String[] args) {//認識構造器:掌握其特點,應用場景,注意事項//特點1:創建對象時,對象會去調用構造器Student s=new Student();//現在創建對象時就根據輸入的參數判斷觸發哪一個構造器/*觸發無參數構造器*/// System.out.println(s);/* constructor.Student@3b07d329 打印的是s的地址*/Student s2=new Student("Lisa",98);//觸發有參數構造器} }
注意事項:
①類在設計時,如果不寫構造器,Java會為類自動生成一個無參構造器
teacher中什么也不寫:
package constructor;public class teacher {}
在test中調用構造器仍然不會報錯:
teacher t=new teacher();
因為Java會為類自動生成一個無參構造器:
package constructor;public class teacher {public teacher(){}}
②:一旦定義了有參數構造器,java就不會幫我們自動生成無參數構造器