栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

关于Java中的继承和多态

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于Java中的继承和多态

面向对象编程(oop)都有三大基本特征:封装,继承,多态。

封装是为了保证代码的隐蔽性,比如private的权限是私有的,只有在类的内部才能看到其构成。而继承和多态则起到不同的作用。

继承:

继承是为了提高代码的复用性。一般我们这么用extens来定义:子类 extens 父类。

继承:当类和类之间是is-a关系的时候,两者之间就存在继承关系。

子类继承父类中的所有属性和方法,有显示继承和隐继承,其中private权限的成员属性和成员方法,但是不能直接使用其方法和访问其成员属性。因为父类的属性是私有的,需要通过特定的方法进行使用和访问,这就是隐继承。而显示继承是父类的属性和方法可以随意使用,没有限制。

我们使用super关键字来访问父类的属性和方法,super关键字代表了父类对象的引用。

如果要产生子类的对象,我们默认先要产生父类,比如我们new一个子类对象,调用了子类的构造方法,那我们必须先调用父类的构造方法,先要产生父类,才能产生子类。如果父类不存在无参构造,则子类构造方法首行必须使用super(有参)这种形式来定义一个构造方法。

多态:

让一种引用产生不同的行为/特性。我们把这种称为多态性。

多态有两种表现形式,向上转型和向下转型。

向上转型:一般发生在有继承关系的类之间,不一定是直接子类,也可以是间接子类。

我们一般这么定义:父类名称 父类引用=new 子类实例。

向上转型的意义在于可以让参数统一化,降低操作者的使用难度。

既然存在继承关系,那子类就继承父类的方法,那如果子类也有跟父类相同方法名,参数列表和返回值相同的方法,这时候我们就需要进行方法重写。

什么是方法重写,方法重写发生在继承中,子类和父类存在相同的方法,这个相同表示,除了权限不相同,方法名,返回值,参数列表完全相同的一组方法。

我们使用向上转型的时候,我们调用子类实例的方法,如果子类进行了方法重写,那么这时候我们会调用的是子类的方法,而不是调用继承的父类方法。但是如果子类中没有跟父类一样的方法,那我们调用这个方法时,则调用的是父类的方法。

但是我们的向上转型也有一个缺点,那就是子类拥有一个父类没有的方法,这时候我们进行向上转型之后,实例化的对象不可以调用其子类独有的方法。这时候如果你想调用这个子类独有的方法,你需要进行向下转型。

我们一般这么定义向下转型:子类引用=(子类名称)父类引用。

这时候我们需要对父类引用进行强制转换,我们之前了解过Java基本类型转换,这也类似,小类型变成大类型自动提升,大类型转化成小类型就需要强转。

这样子我们就通过向下转型调用其子类独有的方法。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/859686.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号