javase20201201(抽象类,接口)


抽象类


当多个类中出现相同功能,但是功能主体不同
这是可以进行向上抽取,这时,只抽取共能定义,而不抽取功能主体
抽象的特点:
1.抽象方法一定在抽象类中
2.抽象方法和抽象类都必须被abstract关键字修饰
3.抽象类不可以new创建对象,因为调用抽象方法没意义
4.抽象类中的方法要被使用,必须由子类覆写所有的抽象方法后,建立子类对象调用
如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类

抽象类和一般类没有太大的不同
该如何描述事物,就如何描述事物,只不过,该事物出现了一些看不懂的东西。
这些不确定的部分,也是该事物的功能,需要明确出来,但是无法定义主体

抽象类比一般类多了个抽象函数 就是类中可以定义抽象方法
抽象类不能被实例化
抽象类中可以不定义抽象方法,这样做仅仅时不让该类创建对象


接口


接口:初期理解,可以认为是一个特殊的抽象类
当抽象类中的方法都是抽象的,那么该类就可以通过接口的形式来表示
class:用于定义类
interface用于定义接口

接口定义时,格式特点:
1.接口中常见定义:常量,抽象方法
2.接口的成员都有固定修饰符
常量:public static final
方法:public abstract
记住:接口中的成员的都是public的

接口:是不可以创建对象的,因为有抽象方法,需要被子类实现,子类对接口中的抽象方法全都覆盖后,子类才可以实例化,否则子类是一个抽象类
接口可以被类多实现,也是对多继承不支持的转换形式,java支持多实现

接口的特点
1.对外暴露规则(降低了耦合性)
2.拓展功能
3.接口可以多实现
4.接口跟类之间是实现关系
5.接口跟接口之间可以继承(可以多继承,但是不能出现返回值不一致的同名抽象函数)

你可能感兴趣的:(笔记)