This和Super的区别

一:this

java中this关键字的作用和词义很接近:

  • 它在方法内部使用,即这个方法所属对象的引用
  • 它在构造器内部使用,表示该构造器正在初始化的对象。

this表示当前对象,可以调用类的属性、方法和构造器。

注意

  1. 使用this()必须放在构造器的首行!
  2. 使用this()调用本类中其他的构造器,保证至少有一个构造器不是用this的。

二:super

java类中使用super来调用父类中的指定操作:

  • super可用于访问父类中定义的属性
  • super可用于调用父类中定义的成员方法
  • super可用于在子类构造方法中调用父类的构造器

注意

  1. 尤其当子父类出现同名成员是,可以用super进行区分。

  2. super的追溯不仅限于直接父类。

  3. super和this的用法相像,this代表本类对象的引用,super代表父类的内存空间的标识。


三:this和super区别

No. 区别点 this super
1 访问属性 访问本类中的属性,如果本类没有此属性则从父类中继续查找 访问父类中的属性
2 调用方法 访问本类中的方法 直接访问父类中的方法
3 调用构造器 调用本类构造器,必须放在构造器首行 调用父类构造器,必须放在子类构造器的首行
4 特殊 表示当前对象
posted @   Gonfei  阅读(374)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示