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类的新对象时,都会首先执行构造代码块中的代码,然后才是构造函数中的代码。这样可以确保每个对象在执行构造函数之前都执行了某些初始化操作。

相关推荐
三途河畔人2 小时前
Pytho基础语法_运算符
开发语言·python·入门
长安er2 小时前
LeetCode 206/92/25 链表翻转问题-“盒子-标签-纸条模型”
java·数据结构·算法·leetcode·链表·链表翻转
Benmao⁢2 小时前
C语言期末复习笔记
c语言·开发语言·笔记·leetcode·面试·蓝桥杯
adsadswee2 小时前
Qt 样式与 QLinearGradient 渐变详解
开发语言·qt·qt样式表·qlineargradient·qss渐变效果
菜鸟plus+2 小时前
N+1查询
java·服务器·数据库
我要添砖java3 小时前
《JAVAEE》网络编程-什么是网络?
java·网络·java-ee
CoderYanger3 小时前
动态规划算法-01背包问题:50.分割等和子集
java·算法·leetcode·动态规划·1024程序员节
花月C3 小时前
个性化推荐:基于用户的协同过滤算法
开发语言·后端·算法·近邻算法
脾气有点小暴3 小时前
前端页面跳转的核心区别与实战指南
开发语言·前端·javascript