猿问

哪位大神详细讲一下接口与抽象类的区别和各自的优缺点

yesopst
浏览 1752回答 7
7回答

王家大少

说实话这个问题我已经回答了很多遍了,回答的我都想吐了,那么我就谈谈接口和抽象类的区别。接口和抽象类的共同点就是它们都可以包含抽象方法,并且它们都不可以创建对象 不同的之处就多了。抽象类除了可以包含抽象方法外还可以实体方法,用来给子类去继承,抽象类还可以包含静态成员 和非静态成员。而接口中的方法全都是非静态的并且全都是被public abstract 修饰的,接口中的变量全都是被public static final 修饰的 ,也就是说接口中的变量全都是常量,接口中不能包含静态方法。接口不能有构造函数而抽象类却可以。 另外从从继承的角度上说,类于类之间是单继承,接口与接口之间确实多继承,从某种角度上说,也弥补了java单继承的不足。

rookie2maven

借口是一些事物的共通点,比如一些基本的方法,利于增删查改,抽象类是对象的共有特征多态化实现方式, 通过继承可以向上引用。

weenhall

接口是一系列还未实现的方法的集合,而抽象类可以包含实现的方法和属性,也就是说抽象类的约束多

May9527

看需求 没有优缺点之说吧

望远

1、抽象类: 如果这个类里面的方法有一个是抽象的,那么这个类必须是抽象的。 抽象类中的方法,子类必须实现。(否则子类还是一个抽象类) 抽象类中可以有变量,可以有方法体的方法。 2、接口: 接口中方法都默认是public 的,不能有方法体。 接口中的变量都常量,都是public static final 的,必须先赋值。 如果一个类实现了此接口,必须覆盖接口中的所有抽象方法。
随时随地看视频慕课网APP

相关分类

Java
我要回答