this、super 关键字

this

1、JVM 会给每个对象分配 this,代表当前对象

2、哪个对象调用,this 就代表那个对象

3、this 用于访问本类属性、方法、构造器,区分当前类的属性和局部变量

(1)访问属性

this.属性名

(2)访问方法

this.方法名(参数列表)

(3)访问构造器:this 必须是第一条语句,且只能有一句 this 语句,即构造器复用另一个构造器,有且只能访问一个构造器

this.(参数列表);

4、this 不能在类定义的外部使用,只能在类定义的方法中使用

5、只写 this,就代指调用 this 的对象

 

super

1、super 代表对父类的引用,用于访问父类的属性、方法、构造器

(1)访问属性

super.属性名;

(2)访问方法

super.方法名(参数列表);

(3)访问构造器:super 必须为第一条语句,且只能有一句 super 语句,即只能调用直接父类的构造器

super(参数列表);

2、super 不能访问父类 private 成员

3、当子类、父类成员重名时,为了访问父类成员,必须通过 super,若没有成员重名,使用 super、this、直接访问的效果相同

4、super 是跳过子类直接在父类中查找

5、若多个父类存在同名成员,super 遵循就近原则:直接父类 -> 父类的父类 -> …… -> Object 类,若在某级父类查找到该成员,但受限于访问修饰符,没有访问权限而不能访问,则不会再向上查找

6、所有子类构造器隐式默认存在 super,指向直接父类的无参构造器,与显式调用 super() 效果相同

7、构造器中,super、this 只能选择其一,显式调用 super、this 都会覆盖隐式默认的 super

 

this、super

  this super
表示 当前对象 子类访问父类对象
属性 本类 -> …… -> Object 类 直接父类 -> …… -> Object 类
方法 本类 -> …… -> Object 类 直接父类 -> …… -> Object 类
构造器

调用本类构造器,与 super 不共存

在构造器首行,有且只有一句

调用父类构造器,与 this 不共存

在构造器首行,有且只有一句

posted @   半条咸鱼  阅读(43)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示