(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就不会帮我们自动生成无参数构造器