java中对的抽象类和接口对的区别:
抽象类:
抽象类内允许有普通变量和普通方法;
抽象类必须有abstract关键字;
抽象类内可以没有抽象方法,但不能实例化;
抽象类内有抽象方法的一定是抽象类;
抽象类不能被实例化,但是有构造方法(派生类可以扩展)。
接口:
接口只声明,没有方法体,如:public abstract void func();
接口内定义的变量都默认是public static final ,必须被显示初始化;
接口没有构造方法,不能实例化;
实现接口的类要实现所有的抽象方法,否则该类就必须声明为抽象类,加上 abstract关键字;
.接口不可以实现接口,所有接口都是抽象方法,但是接口支持多继承。