小工具知识网

当前位置: 首页 > 行业知识 > JAVA——继承

行业知识

JAVA——继承

2026-10-26 12:39:43 来源:互联网转载

前言:

继承是java的面向对象编程的四大基本特性之一,合理的使用继承,能大大提高程序的开发效率,有效的减少代码的冗杂和重用,让使用者的代码更加清晰并且易于管理。可能有人会想:继承是什么?为什么需要继承?下面就来由我一一解答吧。

1.继承

(1)概念

继承机制:它允许程序员在保持原有的类的特性的基础上进行扩展,延伸增加新功能,专门用来进行共性抽取,实现代码复用。

                       

如图,面条和面包都是食物(共性),但各有不同,一个有汤有水,一个干干巴巴,但他们都是食物,都能解决饱腹问题,都有名字,也有热量(kal),所以就将他们的共性提取出来,统一放在父类里面,让子类继承父类的属性,免得重复使用代码。这就是继承关系。

注:继承中可以支持多层继承,但不推荐太多,且一个类只能拥有一个父类,不支持多个父类。

(2)语法

关键字:extends(表示继承关系)

语法:修饰符 class 子类名称 extends 父类名称 {...}

如图表示下上面图片的父类和子类:

注:子类会将父类的属性和方法继承到子类当中

2.父类成员访问

子类的成员访问父类成员遵循着就近原则

1.通过子类对象访问父类与子类不同方法或变量时,优先在子类中寻找,找不到就在父类中找,父类子类都找不到,则编译报错

2.通过子类对象访问父类和子类同名的方法时,参数不同构成重载,调用只需要传合适的参数即可。

3.super关键字

若是只想固定的访问父类成员,java提供了一个关键字:super。

该关键字的主要作用是在子类的方法中调用父类的成员

this和super:

相同点:

只能在类的非静态方法使用,用来访问非静态的成员方法和属性

在构造方法调用时,必须是第一条语句,不能同时存在!!!(下面会讲到构造方法)

不同点:

this是当前对象(调用实例方法的对象)的引用,super子类继承父类的成员的引用。

在非静态成员方法中,this访问的是子类的属性,super则是访问继承下来父类的属性。

访问权限:

(super只能在静态的方法中使用,因为super依赖于对象,static不依赖与对象)

4.子类构造方法与父类构造方法

若是子类父类同时拥有构造方法,究竟先调用谁的呢?

优先调用父类的构造方法

因为子类继承父类,子类对象构造时,先调用基类的构造方法,先行帮助父类完成代码的实例化赋值,子类才能够调用父类的成员。

如果加上代码块来理解,则先后顺序如图:

优先执行静态的,在类的加载时运行着(但静态只执行一次)。然后在执行父类的实例化和构造方法,然后才轮到子类的实例化和构造方法。

5.final关键字

final可以修饰变量,成员方法以及类。

final修饰变量:

修饰后的变量转变为常量

final修饰方法:

表示该方法不能被重写

final修饰类:

表示该类是个封装类,不能被继承

6.继承与组合

组合就是将一部分类规划到一个总类里面,比如汽车中由轮胎,发动机,车架等零部件组成,汽车可以看成是一个大类,轮胎,发动机,车架可以看成是一些零件类:

继承的概念就讲到这,感谢各位观看,麻烦点个赞!谢谢各位

                                      

上一篇:服务器老了变慢怎么维修?

下一篇:轻松掌握TQTQ下载指南,一站式获取使用教程!