1、抽象类可以有构造函数,而接口没有;
2、抽象类中可以有普通的成员变量,而接口中没有;
3、抽象类中可以包含非抽象的普通方法,而接口不能有;
4、抽象类中抽象方法的访问类型可以有public,protected和默认的类型,但是接口只能用有public修饰
5、抽象类可以包含静态的方法,接口不可以用静态方法
6、抽象类和接口都可以中包含静态的成员变量。
7、一个类可以实现多个接口,但是一个类只能继承一个抽象类。
总结:(1)接口有什么作用?
答:接口最主要的作用是实现构件可插入性,达到统一访问,
接口是实现构件可插入性的关键,
可插入构件的关键在于存在一个公用的接口,
以及每个构
件实现了这个接口。
接口是实现构件可插入性的关键,
可插入构件的关键在于存在一个公用的接口,
以及每个构
件实现了这个接口。
接口是实现构件可插入性的关键,
可插入构件的关键在于存在一个公用的接口,
以及每个构
件实现了这个接口。
当然:接口是实现构件可插入性的关键,
可插入构件的关键在于存在一个公用的接口,
以及每个构
件实现了这个接口。
1)通过接口可以实现不相关类的相同行为,而不需要了解对象所对应的类。
2)通过接口可以指明多个类需要实现的方法。
3)通过接口可以了解对象的交互界面,而不需了解对象所对应的类。
(2)抽象类有什么作用?
答:
通过继承它实现多态,后期绑定,可以为将来要实现的东西做好接口,实现重用性。
接口是实现构件可插入性的关键,
可插入构件的关键在于存在一个公用的接口,
以及每个构
件实现了这个接口。
面试题:
1. 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? 抽象类中是否可以有静态的 main 方法?
接口可以继承接口。
抽象类可以实现(implements)接口,
抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。
抽象类中可以有静态的 main 方法。
注意:抽象类与普通类的唯一区别:就是不能创建实例对象和允许有 abstract 方法。