-
王家大少
说实话这个问题我已经回答了很多遍了,回答的我都想吐了,那么我就谈谈接口和抽象类的区别。接口和抽象类的共同点就是它们都可以包含抽象方法,并且它们都不可以创建对象 不同的之处就多了。抽象类除了可以包含抽象方法外还可以实体方法,用来给子类去继承,抽象类还可以包含静态成员 和非静态成员。而接口中的方法全都是非静态的并且全都是被public abstract 修饰的,接口中的变量全都是被public static final 修饰的 ,也就是说接口中的变量全都是常量,接口中不能包含静态方法。接口不能有构造函数而抽象类却可以。 另外从从继承的角度上说,类于类之间是单继承,接口与接口之间确实多继承,从某种角度上说,也弥补了java单继承的不足。
-
rookie2maven
借口是一些事物的共通点,比如一些基本的方法,利于增删查改,抽象类是对象的共有特征多态化实现方式,
通过继承可以向上引用。
-
weenhall
接口是一系列还未实现的方法的集合,而抽象类可以包含实现的方法和属性,也就是说抽象类的约束多
-
May9527
看需求 没有优缺点之说吧
-
望远
1、抽象类:
如果这个类里面的方法有一个是抽象的,那么这个类必须是抽象的。
抽象类中的方法,子类必须实现。(否则子类还是一个抽象类)
抽象类中可以有变量,可以有方法体的方法。
2、接口:
接口中方法都默认是public 的,不能有方法体。
接口中的变量都常量,都是public static final 的,必须先赋值。
如果一个类实现了此接口,必须覆盖接口中的所有抽象方法。