与计算机的情话--Java-(26)

176 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第26天,点击查看活动详情

1、前言

再美好的梦想与目标,再完美的计划与方案,如果不能尽快在行动中落实,最终只能是纸上谈兵,空想一番。

8月24日,星期三,天气阴

2、正文

面向对象的三大特征之二:继承

什么是继承?

Java中提供一个关键字extends,用这个关键字,我们可以让一个类和另一个类建立起父子关系。

public class Student extends People{}

Student 成为子类(派生类),People称为父类(基类或超类)。

**作用:**当子类继承父类后,就可以直接使用父类公共的属性和方法了

使用继承的好处:可以提高代码的复用性,减少代码冗余,增强类的功能扩展性。

继承设计规范:

子类们相同特征(共性属性、共性方法)方法父类中定义,子类独有的属性和行为应该定义在子类自己里面。

为什么?

如果子类的独有属性、行为定义在父类中,会导致其他子类也会得到这些属性和行为,这不符合面向对象逻辑。

继承的特点:

1.子类可以继承父类的属性和行为,但是子类不能继承父类的构造器。

2.Java是单继承模式:一个类只能继承一个直接父类。

3.Java不支持多继承、但是支持多层继承。

4.Java中所有的类都是Object类的子类。

子类不可以继承父类的构造器,子类有自己的构造器,父类构造器用于初始化父类对象。

子类可以继承父类的私有成员,但是不能直接访问。

子类可以直接使用父类的静态成员(共享),但是不能继承父类的静态成员(共享非继承)。

在子类方法中访问成员(成员变量、成员方法)满足:就近原则

先子类局部范围找;

然后子类成员范围找;

然后父类成员范围找,如果父类范围还没有找到则报错。

如果子父类中出现了重名的成员,会优先使用子类的,此时如果一定要在子类中使用父类的怎么办?

可以通过super关键字,指定访问父类的成员。

格式:super.父类成员变量/父类成员方法

今天是我参加8月更文挑战的第26天,敬请期待下文,谢谢支持。