由来
我们发现我们new完对象时,所有成员变量都是默认值,如果我们需要赋别的值,需要挨个为它们再赋值,太麻烦了。我们能不能在new对象时,直接为当前对象的某个或所有成员变量直接赋值呢。可以,Java给我们提供了构造器。
构造器的作用
- 用于初始化一个类的对象,并返回对象的地址。
- 在创建对象的时候为实例变量赋初始值。 构造器只为实例变量初始化,不为静态类变量初始化
构造器的语法格式
构造器又称为构造方法,那是因为它长的很像方法。但是和方法还有有所区别的。
分类:
- 无参数构造器(默认存在的):初始化的对象时,成员变量的数据均采用默认值。
- 有参数构造器:在初始化对象的时候,同时可以为对象进行赋值。
\
示例代码
public class Student {
private String name;
private int age;
// 无参构造
public Student() {
}
// 有参构造
public Student(String name, int age) {
this.name = name;
this.age = age;
}
//类中的其他代码
}
注意事项:
- 构造器名必须与它所在的类名必须相同。
- 它没有返回值,所以不需要返回值类型,甚至不需要void
- 如果你不提供构造器,系统会给出无参数构造器,并且该构造器的修饰符默认与类的修饰符相同
- 如果你提供了构造器,系统将不再提供无参数构造器,除非你自己定义。
- 构造器是可以重载的,既可以定义参数,也可以不定义参数。
- 构造器的修饰符只能是权限修饰符,不能被其他任何修饰