详解 Java 构造器:定义、特点、默认构造器、有参构造器及构造器重载

Java中的构造器详解 1. 什么是构造器

详解 Java 构造器:定义、特点、默认构造器、有参构造器及构造器重载

构造器是一种特殊的方法。它用于在创建对象的时候初始化对象的状态。构造器的名字必须和类名一样。并且它没有返回类型,连 void 都不可以使用。

2. 构造器的特点 3. 默认构造器

如果程序员没有给类定义构造器。Java 编译器会自动给予一个构造器。这个构造器没有参数。并且不会进行任何操作。不过它能保证对象被创建出来。

示例:

public class Student {
    String name;
    int age;
    // 默认构造器(编译器自动提供)
    public Student() {
    }
}

4. 有参构造器

有参构造器允许在创建对象时传递参数,以便初始化对象的属性。

示例:

public class Student {
    String name;
    int age;
    // 有参构造器
创建一个公共的 Student 类,该类接收一个字符串类型的 name 和一个整数类型的 age 作为参数。
        this.name = name;
        this.age = age;
    }
}

创建对象时使用有参构造器:

创建了一个名为 s1 的学生对象,该对象的姓名是“张三”,年龄是 20 岁。

5. 构造器的重载

构造器具备重载的特性。同一个类能够定义多个构造器。这些构造器只要参数列表不一样就可以。通过这种方式,能够为不同的初始化需求提供灵活性。

示例:

public class Student {
    String name;
    int age;
    // 无参构造器
    public Student() {
        this.name = "默认名字";
        this.age = 0;
    }
    // 有参构造器
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

6. this 关键字在构造器中的使用

this 关键字能够在构造器里被用于调用同一个类里的另一个构造器。并且这种调用必须处于构造器的首行位置。

示例:

public class Student {
    String name;
    int age;
    // 无参构造器
    public Student() {
        this("默认名字", 0);  // 调用有参构造器
    }
    // 有参构造器
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

使用 new 关键字来创建对象。JVM 会自动调用与对象创建相匹配的构造器。构造器会对对象的属性进行初始化。

示例流程:

创建了一个名为 s1 的 Student 对象,其姓名为“李四”,年龄为 22 岁。

8. 实际应用场景

构造器在实际开发中有着诸多应用场景。其一,可用于初始化对象的属性;其二,能够进行数据验证;其三,还可以设置默认值等。

示例:

public class Account {
    String accountNumber;
    double balance;
    // 有参构造器
创建一个公共的 Account 类,该类接受一个账号号码(accountNumber)和一个余额(balance)作为参数。
this 的 accountNumber 被赋值为 accountNumber 。
如果 balance 大于 0,则 this.balance 等于 balance;否则,this.balance 等于 0。这是在设置默认值。
    }
}

在这个示例里,构造器有两个作用,一是初始化对象的属性,二是进行基本的验证。

9. 总结

你可能想看:
« 上一篇
下一篇 »

相关推荐

java中什么是冒泡,冒泡算法

2026年09月06日

27阅读

java中冒号,java双冒号

2026年09月06日

26阅读

java中的->,java中的是什么意思

2026年09月06日

24阅读

java中的super用法,Java中super的说明

2026年09月06日

28阅读

java中反射的应用,java中反射的应用场景

2026年09月06日

25阅读

java中开关的定义,Java关键字有哪些

2026年09月06日

25阅读