首页 > 代码库 > Java中接口和抽象类的区别

Java中接口和抽象类的区别

经常看到这样的问题,就是问这两个的区别,我这也总结一下:

1,宏观上说,一个是类,一个是接口,类只支持单一继承,接口支持多个继承

2,微观上说,就是从内部来说

a,成员变量方面

    • 接口可以包含方法,属性,常量(不变的,但是不想一直从数据库中取导致浪费资源的量)
    • 抽象类可以包括接口包括的任何成员,同时需要满足的是内部可以有实现的方法和没有实现的方法,同时必须有没有实现的方法

b,接口类是公开的,抽象类可以不是公开的

c,一般使用,接口是在顶部,然后抽象类实现接口,然后对象类来实现抽象类

d,实现接口是必须实现所有的虚方法,但是抽象类并不是这样

相同点

都不能直接实例化

Java中接口和抽象类的区别