1.抽象类的特点?
1)抽象方法和抽象类都必须被abstract关键字修饰。
2)抽象方法一定在抽象类中。
3) 抽象类不可以用new 创建和实例化对象。因为抽象类本身
4) 抽象类中的抽象方法要被使用,必须由子类复写所有的抽象方法后,建立子类对象调用。
2.abstract 关键字,和哪些关键字不能共存?
final:被final修饰的类不能有子类(不能被继承)。而被abstract修饰的类一定是一个父类(一定要被继承)
private: 抽象类中私有的抽象方法不被子类所知,就无法被复写;而抽象方法出现的就是需要被复写。
static:如果static 可以修饰抽象方法,那么连对象都省了,直接类名调用就可以了。可是抽象方法运行没意义。
3.接口的特点?
1)接口不可实例化,可结合多态进行使用(接口 对象=new 对象())
2)接口里的成员属性全部是以 public(公开)、static(静态)、final(最终) 修饰符修饰
3) 接口里的成员方法全部是以 public(公开)、abstract(抽象) 修饰符修饰
4)接口里不能包含普通方法
5)子类继承接口必须实现接口里的所有成员方法,除非子类也是抽象类
4.面向接口编程的好处?
1)更加抽象,更加面向对象
2)提高编程的灵活性
3)实现高内聚、低耦合,提高可维护性,降低系统维护成本。
5.抽象类和接口的区别?
抽象类:是一个不能被实例化的类,因为它其中存在抽象方法,但它的其它行为和一个普通 类没什么不同。
接口:是java为了弥补不能多继承提供的概念,接口之间支持多继承,接口中只允许存在公 有静态常量或公有的抽象方法,一个类可实现多个接口,从而扩展不同的功能。
来源:CSDN
作者:南京赵子龙
链接:https://blog.csdn.net/linxf51/article/details/103898777