当前位置:首页 > Java

java如何构造函数

2026-02-04 19:27:45Java

构造函数的基本概念

构造函数是用于初始化对象的特殊方法,名称必须与类名完全相同,没有返回类型(包括void)。当创建对象时,构造函数会自动调用。

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

    // 构造函数
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

默认构造函数

如果未显式定义构造函数,Java会提供一个无参数的默认构造函数。若定义了任何构造函数,默认构造函数不再自动生成。

public class Person {
    private String name;

    // 若未定义其他构造函数,Java会提供默认的 public Person() {}
}

构造函数重载

一个类可以有多个构造函数,通过参数列表区分(重载)。根据传入参数的不同,调用对应的构造函数。

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;
    }
}

使用this调用其他构造函数

通过this()可以在一个构造函数中调用同类其他构造函数,必须放在构造函数的第一行。

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

    public Person() {
        this("Unknown", 0); // 调用带参构造函数
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

构造函数的访问修饰符

构造函数可以设置为publicprotectedprivate或默认(包私有)。例如,单例模式中常用private构造函数限制实例化。

java如何构造函数

public class Singleton {
    private static Singleton instance;

    private Singleton() {} // 私有构造函数

    public static Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}

继承中的构造函数

子类构造函数默认调用父类的无参构造函数(通过super())。若父类没有无参构造函数,必须显式调用父类的带参构造函数。

public class Animal {
    private String type;

    public Animal(String type) {
        this.type = type;
    }
}

public class Dog extends Animal {
    public Dog() {
        super("Dog"); // 必须显式调用父类构造函数
    }
}

初始化块

静态初始化块(static {})和实例初始化块({})会在构造函数之前执行,用于完成额外初始化逻辑。

public class Example {
    private static int staticVar;
    private int instanceVar;

    // 静态初始化块
    static {
        staticVar = 10;
    }

    // 实例初始化块
    {
        instanceVar = 20;
    }

    public Example() {
        System.out.println(staticVar + ", " + instanceVar);
    }
}

标签: 函数java
分享给朋友:

相关文章

vue伪函数实现

vue伪函数实现

Vue 伪函数实现方法 伪函数(Mock Function)在 Vue 中常用于测试或模拟某些逻辑,以下是几种常见的实现方式: 使用 Jest 的 jest.fn() 在单元测试中,可以通过 Jes…

java如何创建线程

java如何创建线程

创建线程的方法 在Java中,创建线程主要有两种方式:继承Thread类和实现Runnable接口。以下是具体实现方法: 继承Thread类 通过继承Thread类并重写run()方法可以创建线程…

java如何下载

java如何下载

下载Java的步骤 访问Oracle官方网站或OpenJDK项目页面下载Java开发工具包(JDK)。Oracle JDK适用于商业用途,OpenJDK为开源版本。 打开浏览器,进入Oracle…

java程序如何运行

java程序如何运行

编写Java代码 使用文本编辑器或IDE(如IntelliJ IDEA、Eclipse)编写Java源代码,保存为.java文件。例如: public class HelloWorld {…

如何配置java环境

如何配置java环境

下载JDK安装包 访问Oracle官网或OpenJDK官网,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。下载完成后,运行安装程序并按照提示完成安装。 设置环境变量 右…

如何自学java

如何自学java

选择合适的学习资源 从官方文档开始,Oracle提供的Java官方教程(Java Tutorials)是权威且免费的学习资料。在线平台如Codecademy、Coursera或Udemy提供互动式课程…