【面试题】抽象类和接口的联系和区别
| 接口 | 抽象类 | |
|---|---|---|
| 联系 | 1.都不能被实例化; 2.都位于继承树的顶端,用于被其他类实现和继承; 3.都可以包含抽象方法,实现接口或继承抽象类的普通子类都必须实现这些抽象方法。 | |
| 区别 | 只包含抽象方法、静态方法和默认方法,不能为普通方法提供方法实现 | 完全包含普通方法;
|
| 只能定义静态常量,不能定义普通成员变量 | 既可以定义普通成员变量,也可以定义静态常量 | |
| 不能包含构造器 | 可以包含构造器(让抽象类的子类调用这些构造器来完成属于抽象类的初始化操作) | |
| 不能包含初始化块 | 可以包含初始代码块 | |
| 多实现 | 单继承,包括抽象类 | |
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
