Java中this和super的使用
区别
区别点 | this | super |
访问属性 | 访问本类中的属性,如果本类没有,则从父类继续查找 | 访问父类中的属性 |
调用方法 | 访问本类中的方法,如果本类没有,则从父类继续查找 | 直接访问父类的方法 |
调用构造器 | 访问本类的构造器,如果本类没有,则从父类继续查找 | 调用父类构造器必须放在自类构造器的首行 |
特殊 | 表示当前对象 | 子类中访问父类对象 |
this
- this关键字可以用来访问本类的属性、方法、构造器
- this用来区分当前类的属性和局部变量
- 访问成员方法的语法:this.方法名()
- 访问构造器语法:this(参数列表) 说明:只能在构造器访问另外一个构造器,this()调用构造器是,必须放在构造器的第一句
- this不能在类定义的外部使用,只能在类定义的方法中使用
- 简单一句话总结:this是哪个对象调用的,this就代表哪个对象
super
- super代表父类的引用,用于访问父类的属性、方法、构造器
- 访问父类的属性:super.属性 ,但不能访问父类私有的属性
- 访问父类的方法:super.方法名() 不能访问父类的私有的方法
- 访问父类的构造器:super(参数列表) 只能放在构造器的第一句
- 当子类有父类中的成员指属性和方法重写了,为了访问父类的成员,必须通过super,如果没有重写,使用super、this访问效果一样
分类:
java基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南