一、this关键字
1、说明
this关键字代表当前类的对象,可以访问本类的属性、方法、构造器
注意:谁调用该方法,则this就指谁
2、语法
访问属性:
this.属性名 = 值;
System.out.println(this.属性名);
访问方法:
this.方法名();
访问构造器:
this([参数列表]);
3、注意事项
一般来讲如果本类内部访问当前类的成员,则直接访问即可,默认也是通过this调用的。
当局部变量和成员变量重名时,则必须通过this才能调用到成员变量!
二、super关键字
1、说明
super代表了在子类中获取到的父类的引用,可以访问父类的属性、方法、构造器
2、语法
super.属性名 = 值;
super.方法名(参数列表);
super(参数列表);只能放在构造器的第一句
3、注意事项
①当子类成员和父类成员重名时,在子类中,默认访问的是本类的成员,如果需要访问父类的成员,则需要通过super访问
②当父类没有无参构造器时,子类必须通过super显式调用父类的有参构造器
4、特点
①super先去访问直接父类的成员,如果没有将一直往上追溯,直到Object类
②如果父类和上层的间接父类都有某同名成员,访问时遵循就近原则
三、this和super对比
说明 | 访问属性或方法 | 访问构造器 | |
this | 当前类的对象 |
先去找本类中是否有该成员,如果有,直接访问, 如果没有继续向找父类,直到找到 |
this(参数列表); 只能放在构造器的第一句,用于访问本类的构造器 |
super | 父类的引用 |
先去找直接父类是否有该成员,如果有,直接访问, 如果没有继续向上找其他父类,直到找到 |
super(参数列表); 只能放在构造器的第一句,用于访问父类的构造器 |
原文地址:https://www.cnblogs.com/truthseeking/p/9522971.html
时间: 2024-10-06 21:47:48