当前位置: 移动技术网 > IT编程>开发语言>Java > 第十一天-Java继承/多态特性-方法重写/抽象类/适配器/对象运行时的多态/

第十一天-Java继承/多态特性-方法重写/抽象类/适配器/对象运行时的多态/

2020年07月17日  | 移动技术网IT编程  | 我要评论

在这里插入图片描述
在这里插入图片描述
java不支持多继承,可以通过接口实现。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

继承后可以调用被继承类里的方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

继承中父类资源的限制

缺省修饰符修饰的方法在子类继承后,只能在同一个包内访问。
保护修饰符修饰的方法可以在子类中去访问,加一个this.就是此对象的意思。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

上转型对象

在这里插入图片描述
在这里插入图片描述

final修饰的类继承,考虑安全因素,有些东西涉及到jvm内部的内存管理的方法,防止被继承后修改出现问题。还一个就是不想被继承,去重写类里面的东西。

在这里插入图片描述

方法重写

方法重写和方法重载都属于java中的多态。
在这里插入图片描述
方法重写访问修饰符的级别不能低于父类同名方法的访问级别,可以持平,可以高于它。
在这里插入图片描述
在重写的方法上使用@Override则是注释以下方法是重写的方法。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上图,用ani2的父类对象调用的是父类方法,如果用mamm调用或者用ani调用都是重写后的方法,因为ani创建对象的实例类型还是Mammal的。

eclipse快速方法重写

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面这种不是重写,因为是static修饰的,这种叫覆盖。static修饰的方法不能重写。
在这里插入图片描述
final修饰的方法不能重写。
在这里插入图片描述
static静态方法不能使用super关键字。
在这里插入图片描述
先有父类构造器后有子类构造器。
super();必须在子类构造器的第一行。
方法使用this调用自己会内存溢出无限循环,特殊算法用,称之为递归。
静态方法中不能出现this和super
在这里插入图片描述
super调用父类的属性。

eclipse快速创建继承其他类的方法

在这里插入图片描述
在这里插入图片描述
java核心编程思想是面向对象,面向对象核心编程思想是面向抽象。
在这里插入图片描述
在这里插入图片描述

定义抽象类

在这里插入图片描述

抽象类父类

在这里插入图片描述

抽象继承类

在这里插入图片描述

继承抽象子类

在这里插入图片描述
继承类如果和抽象父类抽象继承子类不在一个包里,需要引入import 抽象父类和抽象继承子类的位置和类名。
在这里插入图片描述

如果两个抽象类继承和多个继承抽象子类,这些继承抽象子类每一个必须都把父抽象类和抽象继承子类里的的所有抽象方法全部实现方法重写才能 运行。
如果继承抽象类里建立了父抽象类的实例方法,那继承抽象子类里的父类的抽象方法可以不写了。

适配器

适配器继承最后一个继承的抽象类,为继承所有抽象父类的空方法实现的普通类,这样其他的普通子类继承抽象类的时候就不用了把所有方法全实现了,而是用哪个重写哪个。
在这里插入图片描述
继承的抽象类的类名加上Adaptor则是表示这个类是一个适配器类。
在这里插入图片描述
适配器提供了父类抽象方法的方法空实现。
有了适配器,子类继承适配器就可以用哪个方法再重写哪个方法了。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一个父类创建一个抽象方法,之后子类继承父类进行实例方法重写,之后调用父类抽象方法,调用方法里面的参数改成不同的子类则输出方法重写后的结果。

本文地址:https://blog.csdn.net/niubo516/article/details/107331873

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网