简述Java继承和多态

JAVA继承和多态

一,继承
1,继承的概念
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
由继承而得到的类称为子类或者派生类;
被继承的类称为父类、基类或者超类。
2,为什么要使用继承
①,可以提高代码的复用性。
②,减少代码的冗余,使代码更加简洁。
③,提高维护性。
3,继承类型
需要注意的是Java不可以多继承。
可以 单继承,多重继承, 不同类继承同一个类
4,继承的特性
子类拥有父类非 private 的属性、方法。
子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
子类可以用自己的方式实现父类的方法。
5,继承关键字
①,在Java中继承的关键字是extends。
我们可以把公共属性和行为提取出来放在父类,由子类扩充父类来实现更多的特性,这样就节约了很多代码,程序变得更加简洁,而且容易扩充。
②,super关键字
super关键字引用当前对象的直接父类中的属性和方法。
除了调用父类同名方法外,super还可以运用于构造方法内,
(遵循原则:super要放在第一行;super所指引的构造方法在父类中必须要有。)
③,final关键字
final 关键字声明类可以把类定义为不能继承的,即最终类;用于修饰方法,该方法不能被子类重写;用于修饰一个变量,该变量变成常量;用于修饰一个属性,该属性不能被赋值;用于修饰对象,该对象不能被引用。
二,方法的覆盖
1,比如说普通汽车,卡车和轿车,他们的运转都是一样的,但是,按照道理来说,卡车和轿车的运转应该是有自己的独立方式的,不应当和普通汽车保持一致。
子类需要对父类的运转方法加以改进,变成子类自己的运转方法,这就需要在子类中重新编写运转方法,覆盖父类的运转方法,这种做法在JAVA中叫做方法的覆盖。(又称方法的重写)
2,重写和重载的不同
重写只能发生在子类中;
重载可以发生在任何类中;
三,多态
1,同一个对象,调用不同类的实例,从而得到不同的结果。这就叫多态。
2,由父类引用创建的对象,只能调用子类从父类继承的方法(当然包含重写的方法),不能调用自己扩展的方法。就像我们说:豹子是动物(向上转型),也可说:豹子会奔跑(调用从父类继承的方法),而不能说:动物是豹子(向下转型),也不能说:动物会爬树(向上转型的对象不能调用子类对象扩展的方法)。
3,继承是多态的一个体现。

猜你喜欢

转载自blog.csdn.net/tan1024/article/details/110089073
今日推荐