接口跟抽象类的区别
接口跟抽象类的区别
1.抽象类有构造方法;接口不能有构造方法
2.抽象类中可以有普通成员变量;接口中只能有public static final修饰的全局变量(可以默认不写)
3.抽象类包含普通方法,静态方法;接口只能有抽象方法
4.抽象类中访问类型有public pretected默认类型;接口中只能是public abstract
5.抽象类只能单继承;但是接口可以多实现(Java可以继承多个接口,但是java类只能继承)
6.抽象类主要是在代码实现上发挥做用,实现代码的重用;接口主要适用于系统框架设计方面发挥作用
注:为什么接口里面变量使用public static final修饰的?
接口是一种更高层次的抽象,是一种规范功能定义的声明,所有可变的东西都应该归类到抽象类中去,这样接口就必须用final修饰成员变量保证其不可更改来达到标准规范的作用。
而static修饰是为了在一个类实现多个接口时 同名变量可以用类名.变量名来区分