抽象类
抽象类(class 前加上 abstract)就是不能实例化的类,没有指出行为的具体细节,而由他的子类去实现相应的行为。
特征
1、抽象类不能被实例化;
2、抽象类中的方法可以有方法体,也可以没有;
3、没有方法体的方法必须用子类去实现;
4、抽象类不能用selead修饰;
5.如果一个类中有抽象方法,那么此类必须是抽象类;
接口
定义:指定一组方法成员而不实现他们的引用类型
接口的特征
1、接口不可以被实例化
2、实现类必须实现接口的所有方法
3、实现类可以实现多个接口
4、接口中的变量都是静态常量
抽象类和接口的区别
不同点:
1、定义的关键字不同,抽象类是abstract,接口是interface;
2、只能继承一个类,可以实现多个接口;
3、非抽象子类必须实现抽象方法,实现接口的类必须实现所有成员;
4、抽象类需要override实现抽象方法,接口的方法直接实现;
相同点:
1、都不能实例化;
2、都包含未实现的方法;
3.派生类必须要实现未实现的方法;