Java构造函数

在Java中,构造函数用于在创建对象时初始化对象。构造函数的名称必须与类名相同,并且没有返回类型。当使用new关键字创建类的实例时,构造函数会被自动调用。

示例

java 复制代码
class Person {
   private String name;
   private int age;
   // 构造函数
   public Person(String name, int age) {
       this.name = name;
       this.age = age;
   }
   // 获取姓名
   public String getName() {
       return name;
   }
   // 获取年龄
   public int getAge() {
       return age;
   }
}
public class Main {
   public static void main(String[] args) {
       // 使用构造函数创建Person对象
       Person person = new Person("张三", 20);
       System.out.println("姓名: " + person.getName() + ", 年龄: " + person.getAge());
   }
}

输出:

java 复制代码
姓名: 张三, 年龄: 20

构造函数的类型

  • 无参数构造函数:不接受任何参数的构造函数。

  • 默认构造函数:如果类中没有定义任何构造函数,Java编译器会提供一个无参数的默认构造函数。

  • 参数化构造函数:接受一个或多个参数的构造函数,用于根据传入的参数初始化对象的状态。

注意事项

  • 如果在类中定义了自己的构造函数,则默认的无参数构造函数将不再提供。

  • 可以在一个类中定义多个构造函数,这些构造函数通过参数列表的不同进行区分,这称为构造函数重载。

  • 构造代码块可以用于给所有对象进行统一的初始化。

构造代码块

java 复制代码
class Person {
   private String name;
   private int age;
   // 构造代码块
   {
       System.out.println("新对象被创建");
   }
   // 构造函数
   public Person(String name, int age) {
       this.name = name;
       this.age = age;
   }
}

在上述代码中,每次创建Person类的新对象时,都会首先执行构造代码块中的代码,然后才是构造函数中的代码。这样可以确保每个对象在执行构造函数之前都执行了某些初始化操作。

相关推荐
Fuyo_11191 分钟前
C++ AVL树保姆级详解:从平衡因子到四大旋转机制
java·c++·算法
努力努力再努力wz12 分钟前
【Lua 入门系列】Lua 函数深入理解:函数对象、多返回值、可变参数、闭包、递归与尾调用优化
开发语言·lua
Sarvartha20 分钟前
Date、LocalDate、LocalTime、LocalDateTime、DateTimeFormatter类
java
阿俊-全栈开发37 分钟前
LikeShop 多商户 Java 版商城微服务模块拆分与部署架构演进实践
java·微服务·架构·likeshop开源商城·多商户源码
飞浪纪元[FWC–FE]1 小时前
从零到一键绿:Qt 5.14.2 + VS2019 开发环境搭建、Kit 套件配置与构建错误修复完全手册
开发语言·qt
Wang's Blog1 小时前
Java 项目实战:交友项目 - 联系人列表
java·开发语言·交友
我命由我123451 小时前
访客系统形式(有用户概念、无用户概念)
java·开发语言·前端·javascript·python·产品运营·产品经理
架构师伯子明1 小时前
FFmpeg C++学习(一):编译和demo
开发语言·c++·学习
海域云SeaArea_1 小时前
Windows Server 2008 R2 从零安装 IIS7.5(二):php.ini 配置
开发语言·windows·php
叼烟扛炮1 小时前
[LangChain] 学习笔记(02):LCEL 链式调用与动态模型配置实战
服务器·开发语言·网络·笔记·学习·langchain