Java>面向对象和封装>>构造方法的使用

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