Java面对对象的三大特性:封装、继承、多态
继承,顾名思义这个词非常好理解。比如在电影《西虹市首富》中,沈腾饰演的王多鱼因他二爷的离世得去继承他二爷的财产。这是一个两者之间继承与被继承的关系。放在Java中也一样,被继承的叫做父类,继承者叫做子类。
定义:继承是面对对象三大特性之一,继承可以解决编程中代码冗余的问题,是实现代码重用的重要手段之一。继承是软件可重用性的一种表现,新类可以再不断增加自身代码的情况下,通过现有的类中继承其属性和方法,来充实自身内容,这种现象或行为就称为继承。此时新类称为子类,现有的类被称为父类。
简单概括就一句话:减少重复代码,代码格式美观、可读性强,父类只有一个,但是可以有多个子类去继承。
继承: 关键字为 extends,子类对象继承了父类对象的所有内容,但不都可见
静态资源属于类,不属于被继承的范畴
子类构造方法默认来自于父类无参
一、继承的好处:
①减少代码量,提高代码复用性
②便于功能的扩展
③为之后的多态性提供前提
二、继承的格式: Class A extends B{}
A:子类 subclass
B:父类、超类、基类 superclass
一旦子类A继承父类B以后,子类A中就获取父类B中声明的结构:属性、方法
父类中声明为private的属性或方法,子类继承父类以后,仍然认为获取了父类私有的结构,只因为封装性的影响,使得子类不能调用父类的结构而已
三、Java中继承的规定:
1.一个类可以被多个子类继承
2.Java中类的单继承性,一个类只能有一个父类
3.子父类是相对的概念(套娃)
4.子类直接继承的父类称为:直接父类,间接继承的父类称为:间接父类
5.子类继承父类以后,就获取了直接父类以及所有间接父类中声明的属性和方法
四、继承的使用
如果父类有参但没有无参,则子类无法直接写出无参构造,需要用super()指定父类的构造方法
super关键字的作用:
子类可以通过super关键字指定父辈对象的内容
super.属性 一般用于区分子类、父类都有的属性。
super.方法() 一般用于区分子类,父类有相同方法(重写的同时调用父类方法)、
super(...)指定父类的构造方法
例:
父类:
子类:
输出结果(这里没有写姓名年龄的输出方法,你们可以尝试自己去写)



