JavaSE继承详解:子类与父类的关系
需积分: 9 123 浏览量
更新于2024-08-05
收藏 1.18MB DOCX 举报
"这篇文件是面向Java初学者的,主要讲解了JavaSE中的继承概念,适合刚刚接触JavaSE的小白。文件内容简单易懂,旨在帮助读者快速掌握JavaSE的继承基础知识。作者鼓励读者通过学习成为IT行业的专家,并表示愿意分享更多JavaSE的学习资料。"
在Java编程中,继承是一种重要的面向对象特性,它允许一个类(子类)从另一个类(父类)继承属性和方法。这种关系被称为“is-a”关系,例如,如果有一个父类`Employee`和一个子类`Lecturer`,那么可以说“Lecturer is a Employee”。
定义继承关系的语法如下:
```java
public class 子类名称 extends 父类名称 {
// 子类的属性和方法
}
```
例如,定义一个名为`Fu`的父类和一个名为`Zi`的子类:
```java
public class Fu {
public void method() {
System.out.println(10);
}
}
public class Zi extends Fu { // Zi继承了Fu
// ...
}
```
在主函数中,我们可以通过子类对象`Zi`调用父类`Fu`的方法`method()`:
```java
public class zhu {
public static void main(String[] args) {
Zi zi = new Zi();
zi.method(); // 输出10
}
}
```
继承的访问特点在于,如果子类和父类中有同名的成员变量,访问时遵循以下规则:
1. 当通过子类对象访问成员变量时,会优先使用子类自己的变量,如果没有则查找父类的变量。
2. 如果通过成员方法访问变量,会优先使用该方法所在类的变量,如果该类没有则向上查找。
例如,有如下的父类`Fu`和子类`Zi`:
```java
public class Fu {
int numFu = 10;
int num = 100;
public void methodFu() {
System.out.println(num);
}
}
public class Zi extends Fu {
int numZi = 20;
int num = 200;
public void methodZi() {
System.out.println(num);
}
}
```
在主函数中,创建父类和子类的对象并访问它们的变量和方法:
```java
public class zhu {
public static void main(String[] args) {
Fu fu = new Fu();
System.out.println(fu.numFu); // 输出10,因为fu是父类对象,只能访问父类的numFu
Zi zi = new Zi();
System.out.println(zi.numFu); // 输出10,同样访问父类的numFu
System.out.println(zi.num); // 输出200,优先使用子类的num,如果没有则向上查找
}
}
```
总结来说,Java的继承使得代码复用变得简单,子类可以扩展父类的功能,同时保留原有的特性。在实际编程中,合理使用继承可以提高代码的可读性和可维护性。理解并熟练运用继承是JavaSE学习的关键步骤,对于初学者而言,通过不断实践和练习,可以逐渐掌握这一核心概念。
2021-07-21 上传
2022-05-24 上传
点击了解资源详情
2021-07-21 上传
2024-05-07 上传
2017-05-08 上传
2012-08-18 上传
2013-07-14 上传
2015-08-31 上传
Java学术趴
- 粉丝: 10
- 资源: 15
最新资源
- remotelight.github.io:RemoteLight网站
- SlideBack:无需继承的活动侧滑返回库类全面屏返回手势效果仿“即刻”侧滑返回
- rhydro_vEGU21:在水文学中使用R-vEGU2021短期课程
- AIPipeline-2019.9.12.19.6.0-py3-none-any.whl.zip
- Automated_Emails
- 安德烈·奥什图克(AndriiOshtuk)
- module-component:使用 Module.js 定义可自动发现的 HTML UI 组件
- AIJIdevtools-1.3.0-py3-none-any.whl.zip
- and-gradle-final-project:Udacity Android Nanodegree的Gradle最终项目
- wallet-service
- 微信小程序-探趣
- connect-four:连接四个游戏
- Delphi二维码生成程序
- sqlbits:各种强大且经过良好测试的函数,可帮助构建 SQL 语句
- geocouch:GeoCouch,CouchDB的空间索引
- sinopia:LD4P Sinopia项目存储库,用于保存文档,一般性问题,架构和相关规范文档