Java 中构造方法与 this 关键字的正确使用

引言

在学习 Java 的过程中,我曾对构造方法和 this 关键字的使用感到困惑。比如,为什么在构造方法中可以用 this("参数") 调用其他构造方法,却不能直接写 类名("参数") 来实现相同的功能?为了解答这个疑问,我深入研究了相关知识,并通过示例代码和分析整理了这篇笔记,希望能帮助自己和大家更好地理解这些概念。

问题背景

假设我们有一个 Student 类,包含两个构造方法:一个无参构造方法,一个有参构造方法。我最初的想法是,在无参构造方法中调用有参构造方法来复用代码,于是尝试了这样的写法:

public class Student {
    private String name;
    private int age;

    // 无参构造方法
    public Student() {
        Student("默认姓名", 18); // 错误写法
        System.out.println("无参构造方法执行完毕");
    }

    // 有参构造方法
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
        System.out.println("有参构造方法执行完毕");
    }

    public static void main(String[] args) {
        Student student = new Student();
    }
}

运行后,我发现 name 和 age 并未被初始化为 "默认姓名" 和 18,而是保持默认值࿰

你可能感兴趣的:(JAVA基础,java,开发语言)