构造方法、this和super
1、构造方法概述
创建对象的时候会调用构造方法。创建对象时需要给对象的属性初始化,这时需要有参的构造方法。
构造方法的格式:
修饰符 构造方法名(参数列表) {
}
构造方法的体现:
- 构造方法没有返回值类型,也不需要返回值。对象创建完成,方法执行完成
- 构造方法的方法名必须和类名一致
- 构造方法没有具体的返回值
2、默认的构造方法
在编写Java文件时,如果没有写构造方法,那么,在编译时,编译器会为我们在.class文件中添加默认的构造方法。如果在.java文件中手动添加了构造方法,则编译器在编译过程中不会在.class文件中添加默认的构造方法。
在创建对象时就需要明确其属性,此时需要添加带参数的构造方法;创建对象时不需要明确其具体属性值的,不用书写构造方法(不书写也会有默认的构造方法)。
构造方法的细节:
- 一个类可以有多个构造方法,多个构造方法以重载的形式存在
- 构造方法可以被private修饰,作用四其他程序无法创建该类的对象
3、构造方法和普通方法的区别
构造方法在创建对象时被调用,只执行一次。
普通方法在对象创建后被调用,可以被重复调用。
4、this关键字
this代表本类对象的一个引用。
this的作用:
- 构造方法之间的调用可以通过this关键字来完成
- this可以用于区分同名成员变量与局部变量
5、super关键字
super代表父类对象的一个引用。
子类中所有的构造方法第一行默认有个super();语句。
父类中没有空参构造方法时,子类的构造方法必须有显式的super语句,指定访问父类中的有参构造方法。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现