Java构造方法详解

在Java方法内部定义一个局部变量时,必须要初始化,否则就会编译失败,如下:

要让上述代码通过编译,只需在使用a之前给a赋一个初始值即可

如果是对象:下面用一个日期类演示

我们没有给年月日赋值,它却编译通过了,并且自动初始化为0

这就是Java中构造方法起到作用了

虽然代码里没有表现,但是当我们没有写任何构造方法时,Java会帮我们提供一个默认不带参数的构造方法,实例化对象时一定会调用构造方法

但是,一旦我们自己写了构造方法,Java就不会给我们提供不带参数的构造方法了,如下代码,我们自己写了一个三个参数的构造方法,就会报错:

 两种解决方法:

1、new对象时,传三个参数,如下:

2、再写一个无参数的构造方法,并且在无参构造方法中用this调用三个参数的构造方法,如下:

注意:this在构造方法中使用时,必须是第一条语句,否则就报错 ,并且this调用不能成环


结论:

1、一个对象的生成至少有2步很重要:

  • 为对象分配内存
  • 调用合适的构造方法

2、构造方法名 必须和当前 类名一样,并且没有返回值,在创建对象时,编译器自动调用,并且在整个对象的生命周期内只调用一次

3、一个类中可能不只一个构造方法,构造方法可以发生重载

4、构造方法的作用就是用来初始化对象中的成员,并不负责给对象开辟空间,实例化时可以借用构造方法对对象进行初始化


Tips:用idea自动生成构造方法:

所用到的代码:

public class Date {int year;int month;int day;//无参构造方法public Date(){this(2024,5,20);}//三个参数的构造方法public Date(int year, int month, int day) {this.year = year;this.month = month;this.day = day;}//打印public void printDate(){System.out.println(year + "年" + month + "月" + day + "日");}public static void main(String[] args) {Date d = new Date();d.printDate();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/700154.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

优雅谈论大模型7:重新审视神经网络

这个专栏围绕着大模型的基本知识点深入浅出,章节之间的联系较为紧密。若在某个环节出现卡点,可以回到如何优雅的谈论大模型重新阅读。而斯坦福2024人工智能报告解读则为通识性读物。若对于如果构建生成级别的AI架构则可以关注AI架构设计专栏。技术宅麻烦…

springboot房屋租赁系统

摘要 房屋租赁系统;为用户提供了一个房屋租赁系统平台,方便管理员查看及维护,并且可以通过需求进行设备信息内容的编辑及维护等;对于用户而言,可以随时进行查看房屋信息和合同信息,并且可以进行报修、评价…

【C++】学习笔记——继承_2

文章目录 十二、继承5. 继承与友元6. 继承与静态成员7. 复杂的菱形继承及菱形虚拟继承 未完待续 十二、继承 5. 继承与友元 友元关系不能继承,也就是说父类友元不能访问子类私有和保护成员 。除非子类也设置成友元。 6. 继承与静态成员 父类定义了 static 静态成…

干最毒的事,做最靓的仔,贾诩为何会被称为“汉末第一毒士”?

两汉各有一毒士,西汉陈平,东汉贾诩。 啥叫“毒士”呢?就是那种专出那种缺德的招术、招招要人命的参谋、秘书。 这种人,对于他们的老板来说,那是绝对是嘎嘎好使,因为一出手就能起到立竿见影的效果。但是&a…

IC卡16个扇区详解:揭秘智能卡的存储结构

目录标题 IC卡的基本结构扇区的划分扇区的功能扇区的安全性扇区的应用NFC卡和IC卡,从外观怎样区分总结 在智能卡的世界里,IC卡(Integrated Circuit Card)以其安全性和便捷性成为了现代生活中不可或缺的一部分。无论是用于支付、身…

基于正点原子的FreeRTOS学习笔记——任务挂起与恢复

目录 学习目标: 学习笔记: 一、什么是挂起 二、任务挂起 三、任务恢复 四、中断中恢复任务 1、中断任务恢复函数 2、优先级说明 实验代码: 一、任务 二、中断 学习目标: 掌握任务的挂起与恢复 学习笔记: …

手撸XXL-JOB(二)——定时任务管理

在上一节中,我们介绍了SpringBoot中关于定时任务的执行方式,以及ScheduledExecutorService接口提供的定时任务执行方法。假设我们现在要写类似XXL-JOB这样的任务调度平台,那么,对于任务的管理,是尤为重要的。接下来我们…

C++语法|深入理解 new 、delete

在开发过程中,非常重要的语法就有我们new和delete,周所周知在C中最为强大的能力就是对内存的控制,所以我们再怎么强调new和delete都不为过 文章目录 1.new和delete基本语法new和malloc的区别是什么?(1)开辟单个元素的内存差别(2)开…

DGC-GNN 配置运行

算法 DGC-GNN,这是一种全局到局部的图神经网络,用于提高图像中2D关键点与场景的稀疏3D点云的匹配精度。与依赖视觉描述符的方法相比,这种方法具有较低的内存需求,更好的隐私保护,并减少了对昂贵3D模型维护的需求。DGC-…

卡片笔记写作法 精读笔记 01

元数据 卡片笔记写作法:如何实现从阅读到写作 书名: 卡片笔记写作法:如何实现从阅读到写作作者: 申克阿伦斯简介: 卢曼的“盒中笔记”通常很简短,因为这些只是他庞大繁杂研究中的索引,等需要时&…

工作太闲怎么办?有没有什么副业推荐?

如果您的工作太闲,可以考虑参加一些副业,利用您的空余时间进行一些有意义的活动。以下是一些副业建议 1. 在线兼职 可以通过一些在线平台寻找兼职工作,如做在线调查、参与评估、进行数据输入等。 2.做任务 还可以做下百度的致米宝库&#…

2024第16届四川教育后勤装备展6月1日举办 欢迎参观

2024第16届四川教育后勤装备展6月1日举办 欢迎参观 邀请函 主办单位: 中国西部教体融合博览会组委会 承办单位:重庆港华展览有限公司 博览会主题:责任教育 科教兴邦 组委会:交易会159交易会2351交易会9466 展会背景 成都…