一、构造函数
构造函数是一种特殊类型的方法,用于在创建对象时初始化对象的状态。构造函数的名称必须与类名相同,没有返回类型,甚至不能定义为void
。
demo:
public class Student {
String name;
int age;
// 构造函数
public Student(String name, int age) {
this.name = name;
this.age = age;
}
// 成员方法
public void display() {
System.out.println("学生姓名: " + name + ", 年龄: " + age);
}
}
public class ConstructorDemo {
public static void main(String[] args) {
Student student1 = new Student("Alice", 20);
student1.display(); // 输出:学生姓名: Alice, 年龄: 20
}
}
二、默认构造函数
如果一个类中没有显式定义构造函数,Java编译器会自动插入一个无参数的默认构造函数,这个构造函数不执行任何操作。
demo:
public class DefaultConstructorDemo {
String name;
public void displayName() {
System.out.println("名称: " + name);
}
public static void main(String[] args) {
DefaultConstructorDemo demo = new DefaultConstructorDemo();
demo.name = "默认构造函数";
demo.displayName(); // 输出:名称: 默认构造函数
}
}
三、构造函数的重载
类可以有多个构造函数,只要它们的参数列表不同。这被称为构造函数重载。
demo:
public class ConstructorOverloading {
int id;
String name;
int age;
// 第一个构造函数
public ConstructorOverloading(int i, String n) {
id = i;
name = n;
}
// 第二个构造函数
public ConstructorOverloading(int i, String n, int a) {
id = i;
name = n;
age = a;
}
public void display() {
System.out.println(id + " " + name + " " + age);
}
public static void main(String[] args) {
ConstructorOverloading s1 = new ConstructorOverloading(111, "Karan");
ConstructorOverloading s2 = new ConstructorOverloading(222, "Aryan", 25);
s1.display(); // 输出:111 Karan 0
s2.display(); // 输出:222 Aryan 25
}
}
以上就是本次分享的所有内容,感兴趣的朋友点个关注呀,感谢大家啦~