定义:
构造方法也叫构造器、构造方法。
构造方法是一种特殊的方法,它是一个与类同名的方法。
功能:
1、创建对象
2、给对象成员变量赋值 即 初始化。
种类:
无参构造方法
有参构造方法
两种构造方法差别:
无参构造方法:初始化对象,成员变量采用默认值。
有参构造方法:在初始化对象时,同时可以为对象成员变量进行赋值。
格式:
public class Student2{
修饰符 类名(参数){
方法体;
}
}
实例:
定义一个学生年龄的类,写出两种构造方法。
public class Student2 {
int age;
public Student2(){} //此为无参构造方法,调用的话,会给age赋默认值0。
public Student2(int age1){
age=age1;
} //此为有参构造方法,调用的话,能给age赋想赋予的值。
}
定义一个测试类
public class gzff {
public static void main(String[] args) {
Student2 a1=new Student2(); //无参创建出对象a1,赋给age默认值
Student2 a2=new Student2(18);//有参创建出对象a2,赋给age值为18
System.out.println(a1.age); //输出a1中成员变量的值
System.out.println(a2.age); //输出a2中成员变量的值
}
}
运行结果:
💡有参和无参构造方法算不算重载?
当然算重载了,重载要求是:方法名一样,参数不一样。显然满足。
注意:
构造方法的名字必须与定义他的类名完全相同,没有返回值类型,连void也没有。
构造方法的调用是在创建一个对象时使用new操作进行的。
类中如果没有定义构造方法,系统会自动添加无参构造方法。
一旦定义了有参构造方法,系统自动定义的无参构造方法就没有了,此时就需要自己写上无参构造方法。
不能被static、final、synchronized、abstract和native修饰。
建议:
无论是否使用,类中都写上无参构造方法 和带全部参数的构造方法。