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

相关推荐
码艺-Alimjan27 分钟前
维吾尔语数字转文本
java·javascript·python·算法·go
可乐鸡翅yeah_27 分钟前
hls.js 多实例并发踩坑,多视频页面播放器内存与冲突问题解决
开发语言·前端·javascript·音视频·hls·m3u8·m3u8在线播放
俊昭喜喜里29 分钟前
c#中的构造函数
开发语言·数据库·c#
事圆则缓34 分钟前
Java 常见数据结构与 Android 使用场景
android·java·数据结构
hahaha601640 分钟前
HLS高层次综合设计--axi之burst纠偏
开发语言·算法·fpga开发·c#
xieliyu.1 小时前
计算机网络:Fiddler 抓包工具使用教程 + HTTP 协议报文格式详解
java·笔记·计算机网络·测试工具·http·java-ee·fiddler
SunnyDays10111 小时前
如何使用 Python 给 PDF 添加附件:文档附件与附件注释
开发语言·python·pdf
步行cgn1 小时前
@Value 详解:Spring 属性注入的核心注解
java·python·spring
2401_850481171 小时前
UVA815
java
霸道流氓气质1 小时前
Spring AI 多租户隔离方案
java·人工智能·spring