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

相关推荐
kisbad5 分钟前
Day 036|OpenAI Agents SDK 快速开始:今天跑通第一个 Agent
java·前端·javascript
憧憬成为java架构高手的小白8 分钟前
langchain4j框架学习
java
乐观勇敢坚强的老彭23 分钟前
C++ 竞赛常用算法模板速查表
开发语言·c++·算法
0x5326 分钟前
Java网络编程(四)
java·网络
离陌在学C#37 分钟前
C# 泛型:从基础到高级应用
开发语言·c#
ly768938 分钟前
Java 设计模式详解:从原则到 23 种经典模式
java·开发语言·设计模式
SomeB1oody40 分钟前
【RustyML入门】2.13. 孤立森林
开发语言·后端·机器学习·rust·教程
萧瑟余晖1 小时前
Java深入解析篇三十之Java日志框架
java·开发语言
Herbert_hwt1 小时前
【C语言基础】常量、选择结构与运算符全解析
c语言·开发语言·算法
AI视觉网奇1 小时前
动作识别 视频理解大模型
开发语言·python·音视频