Java中的this和super的用法

Java 中的 this 和 super 的用法 Java 中的 this 和 super 是两个非常重要的关键字,它们都是用来访问对象的成员变量和方法的。下面我们将详细地讨论这两个关键字的用法和区别。 一、基础知识 1. super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句) 在 Java 中,super 关键字用于访问父类中的成员变量和方法。当我们想要访问父类中的某个成员变量或方法时,我们可以使用 super 关键字来实现。例如,在构造函数中,我们可以使用 super 关键字来调用父类中的构造函数。 2. this(参数):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句) this 关键字用于访问当前对象的成员变量和方法。当我们想要访问当前对象的某个成员变量或方法时,我们可以使用 this 关键字来实现。例如,在构造函数中,我们可以使用 this 关键字来调用本类中的另一个构造函数。 3. super:它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时) super 关键字可以用于访问父类中的成员变量和方法。例如,我们可以使用 super 变量名来访问父类中的成员变量,或者使用 super 成员函数名来访问父类中的方法。 4. this:它代表当前对象名(在程序中易产生二义性之处,应使用 this 来指明当前对象;如果函数的形参与类中的成员数据同名,这时需用 this 来指明成员变量名) this 关键字可以用于访问当前对象的成员变量和方法。例如,在某个方法中,如果形参名与当前对象的成员变量名相同,我们可以使用 this 关键字来指明当前对象的成员变量名。 二、应用实例 下面是一个简单的示例,演示了 this 和 super 关键字的用法: ```java class Point { private int x, y; public Point(int x, int y) { this.x = x; this.y = y; } public void draw() { } public Point() { this(0, 0); // this(参数)调用本类中另一种形成的构造函数 } } class Circle extends Point { private int radius; public Circle(int x0, int y0, int r) { super(x0, y0); // super(参数)调用基类中的某一个构造函数 radius = r; } public void draw() { super.draw(); // super 它引用当前对象的直接父类中的成员 drawCircle(); } } ``` 在上面的示例中,我们使用 this 关键字来访问当前对象的成员变量和方法,使用 super 关键字来访问父类中的成员变量和方法。 三、使用 this 和 super 的好处 使用 this 和 super 关键字可以帮助我们在编程中避免一些常见的错误,例如,在某个方法中,如果形参名与当前对象的成员变量名相同,使用 this 关键字可以明确地指明当前对象的成员变量名。 此外,使用 this 和 super 关键字也可以使我们的代码更加清晰和易读,因为它们可以明确地指明我们想要访问的成员变量或方法。 四、结论 this 和 super 是 Java 中两个非常重要的关键字,它们都是用来访问对象的成员变量和方法的。使用 this 和 super 关键字可以帮助我们在编程中避免一些常见的错误,并且可以使我们的代码更加清晰和易读。


























剩余12页未读,继续阅读

- 粉丝: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 在电子信息化环境下如何做好工程档案的归档工作.docx
- 专业技术人员公需科目-计算机网络信息安全与管理-试题及答案22.doc
- 上半年数据库系统工程师考试上午真题.docx
- 中国物联网芯片行业市场现状与竞争格局分析-前景广阔、力图冲破外资垄断.docx
- 4G无线网络安全的关键技术研究.docx
- PLC高楼变频恒压供水系统大学本科方案设计书.doc
- 案例教学法在技工院校计算机教学中的应用.docx
- yokingma-deepresearch-22520-1755765269457.zip
- 合作学习构建中职计算机应用基础教学探究.docx
- 市场对互联网+同城快递的需求分析.docx
- 企业IDRS网络视频集中监控解决方案-企业工厂.docx
- PHP计算机网络工程项目师简历表格.doc
- CDMA通信系统数据与语音传输设计王树伟陈阵汪亚文.doc
- 软件测试与软件质量关系的概述.docx
- 第一章信息技术与计算机.ppt
- 智慧农业物联网系统设计.doc



- 1
- 2
前往页