接口和抽象类的区别
抽象类
1。是一个类,单继承,被abstract修饰的类,即使没有抽象方法。阻止了对象的创建。
2. 有构造方法
2.可以没有抽象方法,只是为了阻止对象的创建是允许的。
2。类中的方法可以是public protected,无(包内可访问) ,不能是private因为子类无法访问。
接口
1。interface,可以多实现,接口被用来建立类之间的协议
2.全部方法必须为抽象方法
3.没有构造方法
4.接口同样可以包含属性,这些属性被隐式指明为 static 和 final。
5.关键字 default 允许在接口中提供方法实现——在 Java 8 之前被禁止。增加默认方法的极具说服力的理由是它允许在不破坏已使用接口的代码的情况下,在接口中增加新的方法。默认方法有时也被称为守卫方法或虚拟扩展方法