抽象类和接口

一、抽象类和接口的区别

相同点

不可以实例化对象

不可以被 final 修饰

都可以作为顶层设计,提供抽象方法给下层

不同点

1.抽象类的关键字是 abstract,接口的关键字是 interface

2.抽象类方法可以有方法体,接口方法不可以有方法体

3.抽象类方法作用域不可以是 private,接口方法强制为 public abstract(不用自己写)

4.抽象类属性作用域随意定义,接口属性默认为静态常量(public final static)

5.抽象类单继承但是可以多实现,不同的接口之间可以多继承

6.抽象类可以实现接口,但是接口不能继承抽象类(因为抽象类中可能有非抽象方法)

7.抽象类:is A;接口:has A;


二、抽象类的意义

1,为子类提供一个公共的类型;

2,封装子类中重复内容(成员变量和方法);

3,定义有抽象方法,子类虽然有不同的实现,但该方法的定义是一致的。



三、抽象类与接口的应用场景



四、抽象类是否可以没有方法和属性?




五、接口的意义

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