首页 > 编程笔记 > Java笔记 阅读:10

Java构造方法的定义和使用(附带实例)

构造方法也叫作构造器,用于创建对象,以及对对象进行初始化。创建对象都必须通过构造方法进行初始化。

定义构造方法与定义方法类似,但构造方法的名称必须与类的名称保持一致,并且不能定义返回类型。注意,构造方法不同于 void 类型返回值,void 没有具体返回值类型,构造方法连类型都没有。

定义构造方法的语法结构如下:
访问修饰符 类的名称(参数列表) {
    // 初始化变量
}
或者:
访问修饰符 类的名称() {
    // 初始化变量
}

【实例】在一个项目中创建类 VariableDemo,实现创建构造方法,代码如下:
public class VariableDemo {
    int num;
    String name;

    // 默认的无参数构造方法
    public VariableDemo() {
        System.out.println("默认的无参数构造方法");
    }

    // 有参数构造方法
    public VariableDemo(int num, String name) {
        this.num = num;
        this.name = name;
    }
}
在上述代码中,我们可以看出,构造方法不需要返回值类型,只需访问修饰符和类名即可,第一个构造方法是默认的无参数构造方法,第二个构造方法是有参数构造方法。

Java构造方法的访问

如果在使用关键字 new 创建对象时无参数列表,就会自动调用默认的无参数构造方法。如果使用关键字 new 创建对象时带有参数列表,就会调用相对应参数的构造方法。

【实例】在一个项目中创建类 VariableDemo,实现访问构造方法,代码如下:
public class VariableDemo {
    int num;
    String name;

    // 默认的无参数构造方法
    public VariableDemo() {
        System.out.println("默认的无参数构造方法");
    }

    /**
     * 1个参数的构造方法
     * @param num
     */
    public VariableDemo(int num) {
        System.out.println("一个参数的构造方法");
        this.num = num;
    }

    /**
     * 2个参数的构造方法
     * @param num
     * @param name
     */
    public VariableDemo(int num, String name) {
        this.num = num;
        this.name = name;
        System.out.println("两个参数的构造方法");
    }

    public static void main(String[] args) {
        // 创建无参数的对象,调用无参数的构造方法
        VariableDemo variableDemo09 = new VariableDemo();

        // 创建1个参数的对象,调用的是1个参数的构造方法
        VariableDemo variableDemo09_one = new VariableDemo(10);

        // 创建2个参数的对象,调用的是2个参数的构造方法
        VariableDemo variableDemo09_two = new VariableDemo(10, "小明");
    }
}
运行结果为:

默认的无参数构造方法
一个参数的构造方法
两个参数的构造方法

在上述代码中,我们可以看出,创建不同参数个数的对象需要调用不同的构造方法。

总结

在 Java 程序中,若一个类未定义任何构造方法,则会自动提供一个无参数的默认构造方法(不体现在代码中)。若一个类中定义了特定的构造方法,则该类原有的默认构造方法不再可用;若需要默认的构造方法,则需要显式声明出无参数构造方法。

相关文章