java中接口跟抽象类该如何选择?
1、抽象类是类,接口是接口简单点说就是:抽象类的子类不能再继承其遛襟粝颉他的类,可以实现多个接口.因为java是单继承的.如果说目前有一个类已经继承(extends)其他类了,如果这个时候又有一个父类出现,那么只能定义为他的父类为接口,不能定义为抽象类
2、抽象类中除了能定义抽象方法以外,也可以定义具体的方法,并且可以定义方法体内容.接口中是不可以定义具体的方法实现,他只能允许你定义方法但是不能有任何方法体.
3、创建过程中的写法不一样一个是abstract class 类名,另一个是interface 名字.
4、概念上的区别:抽象类:如果一个类中没有包含足够的信息来描述一个具体的对象,这样的类就是抽象类.接口是一种特殊的抽象类.可以这么理解,接口是抽象类的一种特殊表现,有自己的一套规范约束在里面.
5、实现抽象类和接口的类必须实现其中的所有方法。抽象类中可以有非抽象方法。接口中则不能有实现方法。
6、在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的成员方法都是abstract的。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:43
阅读量:37
阅读量:57
阅读量:84
阅读量:47