Java构造函数不能加void

公司一个程序员反馈构造函数找不到,先上代码:

public class Person {

private String name;

// 正确的构造函数:无返回类型,名称与类名相同

public Person(String name) {

this.name = name; // 初始化成员变量

}

// 加了void,这不是构造函数,而是普通方法!

public void Person(String name) {

this.name = name; // 只是普通的赋值逻辑,不会在new对象时自动执行

}

}

核心问题就在手欠,写了void。

Java 语法明确规定:

构造函数的名称必须与类名完全相同(包括大小写);

构造函数不能声明返回类型(包括void);

如果加了void,编译器会把它识别为 "一个名称和类名相同的普通方法",而不是构造函数。

这是因为构造函数的唯一目的是初始化对象(为对象的成员变量赋值、执行初始化逻辑),它不是 "返回某个值",而是 "创建并返回当前类的实例",所以不能定义返回值,包括void

相关推荐
兰令水14 小时前
【agent第3篇】agent上下文+面经
java·大数据·数据库
木井巳14 小时前
【DFS解决floodfill算法】岛屿数量
java·算法·leetcode·深度优先
弹简特14 小时前
【Java项目-轻聊】08-用户管理模块-实现获取用户信息+头像上传+显示头像
java·开发语言·springboot
vickycheung314 小时前
RK182X 如何在 RK3588 上进行应用测试
开发语言·php
贺国亚14 小时前
Buy领域智能体-Spring-AI全量工程
java·人工智能·spring
不想吃饭e14 小时前
uniapp-图片,视频上传组件封装
java·uni-app·音视频
迷藏49414 小时前
双阶段动态权重匹配系统:高效精准的工业级解决方案
java·junit
开源推荐官14 小时前
2026 三大国产优质开源商城深度测评:VortMall、Tigshop、Jinor 选型全解析
java·开源
We Just Keep growing14 小时前
【MySQL运维篇】——日志、主从复制、分库分表、读写分离
java·运维·数据库·windows·学习·mysql
change_fate14 小时前
ERR_PNPM_WORKSPACE_PKG_NOT_FOUND In ...
java·服务器·前端