类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的
并且构造器有以下俩个特点:
- 必须和类的名字相同
- 必须没有返回类型,也不能写void
- 不能return一个具体的返回值
- 如果没有编写任何构造方法,那么编译器将会赠送一个构造方法,没有参数,方法体什么都不做
下面来验证一下,在创建对象的时候,是否会执行构造方法
Student类
public class Student {
public Student() {
System.out.println("构造方法执行啦");
}
}
main方法
public static void main(String[] args) {
Student student = new Student();//通过new创建对象的时候,其实就是在使用构造方法
}
运行结果:
构造方法执行啦
说明在通过new创建对象的时候,其实就是在使用构造方法
Person类
public class Person {
//一个类即使什么都不写 也会存在一个方法(构造方法)
//显示定义构造器
String name;
//无参构造
//1.使用new关键字必须要有构造器,本质是在调用构造器
//2.用来初始化值
public Person(){
}
//有参构造:一旦定义了有参构造,无参就必须写出来,实际也为重载
public Person(String name){
this.name=name;
}
}
main方法:
public static void main(String[] args) {
//实例化了一个对象
Person person1 = new Person();//没有参数,调用无参构造
System.out.println(person1.name);
//实例化了一个对象
Person person2 = new Person("Sherlock");//有参数,调用有参构造
System.out.println(person2.name);//
}
运行结果:
null
Sherlock
总结:
构造器:
1.和类名相同
2.没有返回值
作用:
1.new的本质是在调用构造器(构造方法)
2.初始化对象的值
注意点:
定义了有参构造后,如果想使用无参构造,必须把无参构造写出来