面向对象编程(基础):继承和内部类
需积分: 0 156 浏览量
更新于2024-07-27
收藏 503KB DOC 举报
面向对象02
在面向对象编程中,继承是第二大特征,其主要的核心目的是扩充已有类的功能。继承是通过在一个类(子类)中继承另一个类(父类)的所有成员变量和成员方法来实现的。
**继承的引出**
在上面的代码中,我们定义了两个类:Person和Student。按照之前所学习的概念来讲,代码编写如下:
```java
// Person.java
class Person {
private String name;
private int age;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return this.name;
}
public int getAge() {
return this.age;
}
}
// Student.java
class Student {
private String name;
private int age;
private String school;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setSchool(String school) {
this.school = school;
}
public String getName() {
return this.name;
}
public int getAge() {
return this.age;
}
public String getSchool() {
return this.school;
}
}
```
通过比较,现在已经可以发现,问题就在于Student类与Person类之间的重复太多,而且从实际的关系来讲学生就是一个人,但是学生与人范围相比,学生有更多的特征和行为。
**继承的基本概念**
继承是面向对象编程中的一种机制,允许在一个类中继承另一个类的所有成员变量和成员方法。继承的主要特点是:
1. 单继承:一个类只能继承一个父类。
2. 多态性:继承关系可以实现多态性,例如,一个父类可以有多个子类,每个子类可以有不同的实现。
3. 继承的优点:继承可以使代码重用,减少代码冗余,提高编程效率。
**继承的应用**
继承的应用非常广泛,例如:
1. 实现多态性:继承可以使得子类可以继承父类的成员变量和成员方法,从而实现多态性。
2. 代码重用:继承可以使得代码重用,减少代码冗余,提高编程效率。
3. 便于维护:继承可以使得代码维护变得更加方便。
**this和super关键字**
在继承关系中,this和super关键字非常重要。
* this关键字:this关键字用于访问当前类的成员变量和成员方法。
* super关键字:super关键字用于访问父类的成员变量和成员方法。
**final关键字**
final关键字用于修饰类、方法和变量,final关键字可以使得类、方法和变量不可被继承或修改。
**方法覆写**
方法覆写是指子类中重新定义父类中的方法,以便实现不同的行为。方法覆写可以使得子类可以继承父类的方法,但是可以根据需要进行修改。
继承是面向对象编程中的一种非常重要的机制,可以使得代码重用,减少代码冗余,提高编程效率。同时,this、super和final关键字在继承关系中也扮演着非常重要的角色。
2018-12-10 上传
2023-03-16 上传
2023-06-28 上传
2023-03-16 上传
2023-05-04 上传
2023-05-24 上传
2023-03-16 上传
2023-05-29 上传
![](https://profile-avatar.csdnimg.cn/8e5639c75c1a42e3b41d854957dc2f8f_zhugongzhao.jpg!1)
zhugongzhao
- 粉丝: 0
- 资源: 7
最新资源
- AirKiss技术详解:无线传递信息与智能家居连接
- Hibernate主键生成策略详解
- 操作系统实验:位示图法管理磁盘空闲空间
- JSON详解:数据交换的主流格式
- Win7安装Ubuntu双系统详细指南
- FPGA内部结构与工作原理探索
- 信用评分模型解析:WOE、IV与ROC
- 使用LVS+Keepalived构建高可用负载均衡集群
- 微信小程序驱动餐饮与服装业创新转型:便捷管理与低成本优势
- 机器学习入门指南:从基础到进阶
- 解决Win7 IIS配置错误500.22与0x80070032
- SQL-DFS:优化HDFS小文件存储的解决方案
- Hadoop、Hbase、Spark环境部署与主机配置详解
- Kisso:加密会话Cookie实现的单点登录SSO
- OpenCV读取与拼接多幅图像教程
- QT实战:轻松生成与解析JSON数据