第20天
哪吒 2023/6/15
# 第20天
# Java 构造方法
# 构造方法的类型
Java 中的构造方法分为两种类型:无参构造方法和有参构造方法。
//1、无参构造方法(默认构造方法)
public class Person {
public Person() {
System.out.println("Person对象已创建");
}
}
//2、有参构造方法
public class Person {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
//构造方法的重载
public class Person {
String name;
int age;
public Person() {
this.name = "Unknown";
this.age = 0;
}
public Person(String name) {
this.name = name;
this.age = 0;
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
# 构造方法中的 this 关键字
在构造方法中,this 关键字通常用于两种情况:
1、引用当前对象的属性或方法:当构造方法的参数名与类属性名相同时,使用 this 来区分类属性和参数。例如:
2、调用另一个构造方法:可以使用 this() 调用当前类的其他构造方法,常用于避免重复代码,但必须放在构造方法的第一行。
public Person(String name, int age) {
this.name = name; // this.name 表示类的属性
this.age = age;
}
public Person(String name) {
this(name, 0); // 调用另一个双参数的构造方法
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
Java 构造方法是一种特殊的方法,用于在创建对象时初始化对象的属性。构造方法与类同名,并且没有返回类型。每个类至少有一个构造方法,如果没有显式定义,Java 编译器会提供一个默认的无参构造方法。
# 构造方法的用途
- 初始化对象属性:在创建对象时,构造方法可以用来初始化对象的属性。
- 执行一些必要的操作:构造方法可以在对象创建时执行一些必要的操作,比如打开文件、建立数据库连接等。
# 构造方法的定义
构造方法与类同名,并且没有返回类型。例如:
public class Person {
private String name;
private int age;
// 无参构造方法
public Person() {
this.name = "Unknown";
this.age = 0;
}
// 带参数的构造方法
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
# 构造方法的注意事项
- 构造方法不能被显式调用:构造方法不能通过对象名调用,只能在创建对象时由 Java 虚拟机自动调用。
- 构造方法可以重载:一个类可以有多个构造方法,只要它们的参数列表不同即可。
- 构造方法可以调用其他构造方法:通过
this()
关键字可以在一个构造方法中调用另一个构造方法。
# 示例
public class Main {
public static void main(String[] args) {
// 使用无参构造方法创建对象
Person person1 = new Person();
System.out.println(person1.getName() + ", " + person1.getAge());
// 使用带参数的构造方法创建对象
Person person2 = new Person("Alice", 30);
System.out.println(person2.getName() + ", " + person2.getAge());
}
}