一、为什么要使用继承
- 将共有的属性和方法提取出来,写成一个封装类,让我们其他类去继承我们提取出来的这个类,可以优化我们的程序
- 方便我们进行代码的修改
- 减少代码量
- 将子类共有的属性和行为放到父类中
二、继承使用
a)将共有代码提取出来
b)让我们的子类去继承父类
我们继承用的关键字 extends
雇佣兵类继承父类,这个雇佣兵这个类就拥有父类中所有的属性和方法
c) 继承—类只能单继承,一个子类只能继承一个父类,一个父类可以被多个子类进行继承
三、 继承中super()
a)Super()代表父类的对象
b)在子类当中要调用父类的对象要用super(), super()必须放在子类构造函数的第一行
c)子类获取父类属性 super.getName();
Super() –代表调用父类无参构造函数
Super(name) –代表调用父类有参构造函数
子类不能继承父类的构造函数,子类只是在调用父类的构造函数
四、抽象类
1) 为什么会出先抽象类:无法完整描述一个事物的类
2)抽象类的特点:
a)*抽象类:用abstract修饰的类我们成为抽象类
b) *抽象类:有抽象方法的类我们成为抽象类
c) *抽象类:既可以有抽象方法,也可以有不抽象的方法(普通方法)
d)*抽象类:一定不可以被实例化,出现的意义就是被子类进行继承的
e)*抽象类: 如果一个子类继承了抽象类,那么这个子类一定要重写父类中的抽象方法,如果不重写,那么这个子类也是一个抽象类
3)先写一个父类:(必须是抽象类)
4) 再写一个子类继承父类(抽象类)子类要重写父类中的抽象方法
5) 写一个抽象方法
五、 关键字final (最终的,不可改变)
修饰类:类补可以被子类继承
修饰方法: 这个方法不能够被重写
修改变量: 变量的值为常量