Java复习笔记1--抽象类和接口
这一系列是今年7月份至8月份为实习面试所复习的Java功课~
抽象类和接口
是Java
对抽象概念进行定义的2种机制。
抽象类
一个类没有足够的信息来描述一个具体的对象,需要其他具体的类才支撑它。
抽象类体现了数据抽象的四小,是实现多态的一种机制。
它定义了一组抽象的方法,至于这组抽象方法的具体表现形式有派生类来实现。同时抽象类提供了继承的概念,它的出发点就是为了继承,否则它没有存在的任何意义。所以说定义的抽象类一定是用来继承的,同时在一个以抽象类为节点的继承关系等级链中,叶子节点一定是具体的实现类。
1、抽象类不能被实例化,实例化的工作应该交由它的子类来完成,它只需要有一个引用即可。
2、抽象方法必须由子类来进行重写。
3、只要包含一个抽象方法的抽象类,该方法必须要定义成抽象类,不管是否还包含有其他方法。
4、抽象类中可以包含具体的方法,当然也可以不包含抽象方法。
5、子类中的抽象方法不能与父类的抽象方法同名。
6、abstract不能与final并列修饰同一个类。(abstract & static 是Java语言的缺陷 A final class can't be extended, an abstract class needs to be extended in order to be instantiated. Therefore, a final abstract class would be a logical contradiction.)