java抽象类与接口的区别
1、抽象类中可以定义域(成员变量),普通方法,抽象方法
public abstract class TestA {int num = 0;//域(成员变量)public void add(){//普通方法System.out.println("加法");}abstract int get();//抽象方法}
2、非抽象子类继承抽象父类时,必须要重写抽象父类中的所有抽象方法(普通方法不用)
class TestB extends TestA{@Overridepublic int get() {//子类重写的方法,可以修改父类的权限(父默认权限->子public)return 0;}}
3、抽象子类可以空继承抽象父类,不一定要重写抽象父类的方法
abstract class TestC extends TestA{//抽象子类不用重写抽象父类的方法}
4、抽象类可以实现(implements)多个接口;接口可以继承多个接口
interface infA{}interface infB{}interface infC extends infA,infB{//接口继承多个接口}abstract class TestD implements infA,infB{//抽象类实现多个接口}