日报7.20
1.抽象类
(1)抽象类的概念
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
(2)抽象类的特性
抽象类不能被实例化
由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用
在Java中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口
(3)抽象类和普通类的区别
抽象类不能被实例化,普通类可以被实例化
2.抽象方法
抽象方法无方法体,普通方法有方法体。
3.抽象类与抽象方法的使用
(1)抽象类中可以没有抽象方法,但包含了抽象方法的类就必须被定义为抽象类
(2)没有抽象构造方法,也没有抽象静态方法
(3)抽象类中可以有非抽象的构造方法,创建子类的实例时可能调用
4.方法重写的概念
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
子类能够根据需要实现父类的方法。
重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。
5.方法重写的规则
(1)方法名相同
(2)参数列表相同
(3)返回值类型相同或者是其子类
(4)访问权限不能严于父类
(5)父类的私有方法不能被子类覆盖
继承
继承的概念
继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
继承的作用
子类拥有父类的属性和方法,减少重复的代码,维护性高。
代码简洁,提高了代码的复用性。
继承关键字
class——定义类
interface——定义接口
extends——继承父类
implements——实现接口