码迷,mamicode.com
首页 > 编程语言 > 详细

java 抽象类和接口的区别

时间:2015-07-11 12:11:47      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:java   抽象类   接口   



 语法层面上:

       1)抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法;

  2)抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;

  3)接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;

  4)一个类只能继承一个抽象类,而一个类却可以实现多个接口。

设计层面上:

       抽象是继承是“是不是”的关系,接口实现是“有没有”的关系,不如说有个抽象类Door(门),一个门类的继承子类WoodDoor(木门),这个就是抽象类的继承。比如有个Bird(鸟)类,有一个(Airplane)飞机类,它们都有一个方法fly()方法,这里就没有办法用抽象类来解决这个问题了,要用接口,因为显然鸟和飞机不是子类和父类的关系,它们只是有共同的行为方法,它们都有fly方法,这个是“有没有”的概念。


版权声明:本文为博主原创文章,未经博主允许不得转载。

java 抽象类和接口的区别

标签:java   抽象类   接口   

原文地址:http://blog.csdn.net/zhangpan19910604/article/details/46840231

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!