构造方法是专门用来创建对象的方法,当我们通过关键字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