Java基础面试题(2)

11.interface和abstract类的区别

  • abstract修饰的类是抽象类,抽象类不可以被实例化,可以被继承,不必有抽象方法,但是一旦有了抽象方法,子类就一定要继承,不继承就要将类也命名为abstract类。

  • interface可以理解为更为抽象的抽象类,interface中的方法必须都是抽象的,接口中的方法默认呗public abstract修饰,默认的成员变量被 public static final修饰

  • 区别

  1. 抽象类中可以有构造方法,接口中不可有构造方法

2.抽象类中可以有普通的成员变量,而interface中必须是public static final 修饰

  1. 抽象类中可以包含普通方法,interface中不可有非抽象的普通方法,方法必须都是抽象的

4.抽象类可以有静态方法,而 interface不能有静态方法

5.抽象类总成员变量的访问类型可以是任意的,而interface必须是public static

6.单继承,多实现,一个类只能继承一个类,实现多个接口

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。