JavaJava基础知识程序员

抽象类和接口的区别

2019-01-07  本文已影响120人  第四单元

Java中的抽象类和接口是两个有些类似的概念,在某些情况下他们有着类似的语义。下面来总结一下他们各自的特点。

一.抽象类

首先要强调的是抽象类是类,用class声明。当一个类中有抽象的方法时,这个类也必须被声明为抽象的。抽象的方法或类都使用abstract修饰符来修饰。抽象类中可以有属性和非抽象的方法。抽象类不能被实例化,因为它有抽象的方法,无法调用。所以抽象类一般被设计用于继承。继承一个抽象类需要实现其所有的抽象方法,否则的话子类也应该被声明为抽象的。可以定义一个抽象类的引用来指向它的一个非抽象子类的对象。

二.接口

接口比抽象类的抽象程度更高,它完全不包括实例方法或属性。接口使用关键字interface来声明。接口中只包含方法的声明,它就是用来描述类具有什么功能,而并给出每个功能的具体实现。接口中所有方法都自动地属于public,所以不用显示地声明。实现一个接口就要实现它所有的方法。

三.比较

1.相同点
2.不同点
上一篇 下一篇

猜你喜欢

热点阅读