news 2026/2/28 21:15:02

Java之构造方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java之构造方法

什么是构造方法?

构造方法是 Java 中一种特殊的方法,它的核心作用是:在创建对象(使用new关键字)时,初始化该对象的成员变量

构造方法解决什么问题?

构造方法解决给对象初始化的问题

构造方法怎么使用?

一:直接在构造方法中赋值

class Person { // 成员变量(未初始化,默认值:name=null,age=0) private String name; private int age; // 构造方法初始化:给成员变量赋具体值 public Person(String name, int age) { // this.name 指向对象的成员变量,name 是构造方法的参数 this.name = name; // 初始化姓名 this.age = age; // 初始化年龄 } public void show() { System.out.println("姓名:" + name + ",年龄:" + age); } public static void main(String[] args) { // 创建对象时,触发构造方法初始化 Person p = new Person("小明", 18); p.show(); // 输出:姓名:小明,年龄:18(说明初始化成功) } }

二:在继承类中如果父类中没有空参构造方法,只有带参构造方法

  • 子类通过 super,手动调用父类的带参的构造方法, 推荐

public class Person { //成员变量 private String name; private int age; //成员方法 public void show() { System.out.println(name + "-----" + age); } //无参构造 // public Person() { // } //带参构造 public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } ------------------------------------------------------------------------ public class Student extends Person{ //成员变量 private int score; //有参构造 public Student() { //隐藏代码:super(); //自动调用父类中的无参构造方法,如果父类中没有无参构造,只能手动调用父类中的带参构造 super("梅梅",23); } public Student(String name, int age, int score) { super(name, age); this.score = score; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } } ---------------------------------------------------------------------------- public class Text { public static void main(String[] args) { //创建Student对象 //Student stu = new Student("张三", 23, 100); Student stu = new Student(); stu.show(); } } --------------------------------------------------------------------------------- 运行结果:梅梅-----23
  • 子类通过 this 去调用本类的其他构造方法,本类其他构造方法再通过 super 去手动调用父类的带参的构造方法 , 不推荐

public class Father { public Father() { System.out.println("Father类 -> 无参构造方法"); } public Father(String name){ System.out.println("Father类 -> String参数构造方法"); } } --------------------------------------------------------------------- public class Son extends Father{ public Son() { //隐藏代码:super(); this("梅梅");//调用:Son(String name) System.out.println("Son类 -> 无参构造方法"); } public Son(String name){ //隐藏代码:super(); //调用父类中的有参构造方法 super(name); System.out.println("Son类 -> String参数构造方法"); } } ------------------------------------------------------------------------ public class Text { public static void main(String[] args) { //创建子类对象 Son son = new Son(); } } ---------------------------------------------------------------------- 运行结果: Father类 -> String参数构造方法 Son类 -> String参数构造方法 Son类 -> 无参构造方法

怎么初始化?

如果一个类没有手动定义任何构造方法,Java 会自动提供一个默认的无参构造方法;如果手动定义了有参构造方法,默认(没有手动定义任何构造方法时的无参构造方法)的就会失效

在继承类中构造方法的第一条语句默认都是:super(),被隐藏

构造方法使用时注意细节?

  • 方法名必须和类名完全相同(包括大小写);
  • 没有返回值类型(连void都不能写);
  • 构造方法只能在创建对象时由new关键字自动调用,不能手动调用
  • 子类中所有的构造方法默认都会访问父类中的无参构造(原因:子类在初始化的时候,有可能使用到父类中的数据,如果父类没有完成初始化,子类将无法使用父类的数据【子类初始化之前,一定要先完成父类的初始化】)
  • super()必须写在子类构造方法的第一行,否则编译报错;
  • 父类的无参构造可以是默认的(不手动写任何构造方法时,Java 自动生成),也可以是手动定义的;
  • 如果父类的无参构造是 private(私有),子类无法访问,会编译报错
  • 不能被static、final、abstract等关键字修饰(public/private/protected权限修饰符可以用)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/23 15:15:01

救命神器!研究生必备10个AI论文平台深度测评

救命神器!研究生必备10个AI论文平台深度测评 一、不同维度核心推荐:10款AI工具各有所长 对于研究生而言,学术写作是一个复杂而繁琐的过程,从开题到初稿、查重、降重再到排版,每个环节都需要合适的工具来辅助。不同的AI…

作者头像 李华
网站建设 2026/2/16 16:32:11

想了解网络安全?它的定义、涵盖领域及能否入行黑客全解答

提及网络安全,很多人都是既熟悉又陌生,所谓的熟悉就是知道网络安全可以保障网络服务不中断。那么到底什么是网络安全?网络安全包括哪几个方面?通过下文为大家介绍一下。 一、什么是网络安全? 网络安全是指保护网络系统、硬件、软件以及其中的数据免…

作者头像 李华
网站建设 2026/2/8 17:59:16

GEO优化服务商怎么选?技术、战略、保障、团队与平台适配解析

摘要随着DeepSeek、Kimi、文心一言等AI搜索引擎成为用户获取信息的主流入口,品牌在AI对话中的“可见性”正变得前所未有的重要。GEO(生成式引擎优化)服务市场随之兴起,但服务商背景不一,从传统SEO升级到初创团队&#…

作者头像 李华
网站建设 2026/2/26 8:51:01

学术 PPT “躺赢” 密码!虎贲等考 AI 让汇报质感碾压同级

学术汇报的终极较量,藏在 PPT 的细节里。有人熬 3 天做的 PPT 被批 “逻辑混乱”,有人精心设计却因 “不够专业” 错失加分,有人卡在 “数据图表呈现” 反复内耗。虎贲等考 AI 科研工具的 AI PPT 功能,以 “智能提炼 学科定制 数…

作者头像 李华
网站建设 2026/2/22 20:19:48

开题报告卡壳?虎贲等考 AI:1 小时解锁 “导师认可模板”,创新点精准戳中需求

开题报告是论文创作的 “起点关卡”,直接决定研究方向的可行性与学术价值。但多数学生和科研人都困在这一步:选题无创新被否定、研究方案逻辑断层被打回、技术路线模糊被要求重写,反复修改耗时数周仍难达标。普通 AI 工具仅能生成基础框架&am…

作者头像 李华
网站建设 2026/2/28 13:37:32

视频融合平台EasyCVR打造化工园区智能化监控管理系统应用方案

化工园区作为危险化学品生产、储存、运输的核心载体,存在工艺复杂、易燃易爆有毒有害介质多、重大危险源集中等特点,安全防控压力巨大。传统的人工监控方式效率低下且容易出现疏漏,已经难以满足日益增长的安全管理需求。基于视频汇聚平台Easy…

作者头像 李华