一、接口和抽象类的区别是什么?
1)接口中的成员变量都是public static final 的; 而抽象类随意,且不必是public的
2)接口中的成员函数都是public abstract的;而抽象类可以存在非抽象的方法,且不必是public的
3)java类能实现多个接口,但是只能继承一个抽象类
4)接口和抽象类都不能被实例化。但是如果抽象类中main()方法,抽象类可以被调用
//新增
5)接口没有构造方法;抽象类可以有构造方法
6)java 1.8中,接口可以有static、和default修饰的普通方法
java类可以不实现接口和抽象类的所有抽象方法,但它必须被定义为抽象类