接口和抽象类的区别是:
知识点
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
接口,在JAVA编程语言中是一个抽象类型,是抽象方法的集合,一个类通过继承接口的方式,从而来继承接口的抽象方法。
接口
接口不能被实例化
接口中没有构造方法
使用 implements 继承接口,支持多继承
实现某个接口的类必须在类中实现该接口的全部方法
接口中的变量必须是 public static final 类型的(常量)
抽象类
不能被实例化
使用extends继承抽象类,支持单继承
抽象类中的变量和普通类中的变量一样
抽象类可以有静态代码块和静态方法
如果类中有抽象方法,则必须为抽象类
抽象类中可以有非抽象方法
抽象方法的类型
接口和抽象类的区别是什么,是有本质的区别的。