可以定义构造器 有抽象方法和具体方法 抽象类的成员可以用private、默认、protected和public修饰 可以定义成员变量 有抽象方法必须被声明为抽象类,但抽象类未必要有抽象方法 抽象类可以包括静态方法 一个类只能继承一个抽象类
相同点:都可以定义抽象方法并且被重写,都不可以实例化对象,都可以定义静态变量、方法。
区别:意义不同:抽象类是对类进行更高层次的抽象,而接口是对功能进行封装;
内容不同:抽象类中除抽象方法外,还可以定义实例变量、方法,静态变量、方法以及构造方法;而接口中规定仅定义静态常量、静态方法、抽象方法以及Default方法;
使用方式不同:抽象类作为父类被继承,接口需要实现;
应用场景不同:仅仅为了扩展功能,选用接口。如果除了功能,还需保存数据,选抽象类。
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题