JavaSE基础知识(5)—面向对象(5.5 this和super关键字)
2024-10-19 02:18:21
一、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(参数列表); 只能放在构造器的第一句,用于访问父类的构造器 |
最新文章
- java selenium (二) 环境搭建方法一
- etcd第二集
- (准备写)URAL1824 Ifrit Bomber 题解
- 【mysql】关于IO/内存方面的一些优化
- 读书笔记——Windows核心编程(8)Interlocked系列函数
- PHP中$_FILES的使用及注意事项
- 利用Jersey构建REST之入门实例
- lldp中与snmp相关内容agentx
- css 实现旋转八卦图
- Unicode 与 Unicode Transformation Format(UTF,UTF-8 / UTF-16 / UTF-32)
- CSS3基础(4)——CSS3 渲染属性
- DOJO常用的函数
- VS2013发布网站删除.CS文件
- android开发(45) 自定义软键盘(输入法)
- 【技术分享会】 @第四期 JQuery插件
- ROS+OPENVPN配置
- 404 Note Found队 Alpha7
- 百度editor编辑器添加新字体
- Yii2用Gii自动生成Module+Model+CRUD
- Ubuntu 18.04添加新网卡
热门文章
- CentOS 7修改系统时间及硬件时间
- MQTT项目请求设置
- QMap迭代器
- postman引用外部文件中的变量和数据
- Unresolved externa Round
- 20175213 2018-2019-2 《Java程序设计》第8周学习总结
- @Transactional 事务说明
- Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 1) C(二分+KMP)
- 优化Android Studio/Gradle构建(转)
- Nancy.Net之旅-初次见面