构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法。
格式:
public 类名称(参数类型 参数名称){
方法体
}
注意事项:
1. 构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样
2. 构造方法不要写返回值,连void都不用写
3. 构造方法不能return一个具体的返回值
4. 如果没有编写任何构造方法,那么编译器将会默认赠送一个构造方法,没有参数、方法体什么事情都不做
public Student(){}
5. 一旦编写了至少一个构造方法,那么编译器将不再赠送
6. 构造方法也是可以进行重载的
重载:方法名称相同,参数列表不同
下面来让我们看一个构造方法的例子
先构造一个方法Student类:
package gouzao;
public class Student {
//成员变量
private String name;
private int age;
//无参数的构造方法
public Student(){
System.out.println("无参构造方法执行啦!");
}
//全参数的构造方法
public Student(String name, int age) {
System.out.println("全参构造方法执行啦!");
this.name = name;
this.age = age;
}
//Getter Setter
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
使用这个Student类:
package gouzao;
public class Demo01Student {
public static void main(String[] args) {
Student stu1 = new Student(); //无参构造
System.out.println("================================");
Student stu2 = new Student("修仙者",20); //全参构造
System.out.println("姓名:" + stu2.getName() + ", 年龄:" + stu2.getAge());
System.out.println("================================");
//如果需要改变对象当中的成员变量,仍然还需使用setXxx方法
stu2.setAge(21); //改变年龄
System.out.println("姓名:" + stu2.getName() + ", 年龄:" + stu2.getAge());
}
}
以上代码运行结果如下:
无参构造方法执行啦!
================================
全参构造方法执行啦!
姓名:修仙者, 年龄:20
================================
姓名:修仙者, 年龄:21