详解 Java 构造器:定义、特点、默认构造器、有参构造器及构造器重载
Java中的构造器详解 1. 什么是构造器

构造器是一种特殊的方法。它用于在创建对象的时候初始化对象的状态。构造器的名字必须和类名一样。并且它没有返回类型,连 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. 总结
« 上一篇
php对象中的对象,php 对象