抽象类和接口的区别

转载 2016年05月30日 19:37:36

首先   抽象类是类,接口是接口这个要明确


抽象类:
    1.使用abstract关键字修饰的类,会存在抽象方法,只有方法名没有方法体.
    2.抽象类中的方法并不要求是抽象的,即抽象类中可以没有抽象方法,也可以所有方法都是抽象的。
    3.抽象类的具体的实现应该是由子类来重写的。当某个类继承了抽象类之后,必须重写抽象类中的抽象方法,
     除非该子类也是抽象的。
4.存在抽象方法的类一定是抽象类.
5.抽象类不能直接创建实例.


接口:
    1.接口的组成结构与类基本一致。
    2.接口中的所有成员都是公有(public)的。
    3.接口中的所有属性都是静态常量(static final)。
    4.接口中的所有方法都是抽象的(abstract)

     类与接口的关系是实现与被实现的关系,使用implements关键字,当类实现了接口,则该类称为该接口的实现类。
同一个类可以同时实现若干个接口,各接口名称之间使用逗号进行分隔,且该类需要实现所有接口中的所有抽象方法,
例如:
public class MainActivity extends Activity implements OnClickListener, OnItemClickListener, OnCheckedChangeListener, OnSeekBarChangeListener { }
     接口与接口之间也可以继承,使用extends关键字,例如:
public interface InterfaceA extends InterfaceB {}
     同一个接口可以同时继承若干个接口,各父级接口名称之间使用逗号进行分隔,例如:
  public interface InterfaceA extends InterfaceB, InterfaceC, InterfaceD {}
     假设某个类实现了InterfaceA,则该类必须重写InterfaceA、InterfaceB, InterfaceC, InterfaceD中所有的
抽象方法。接口的作用通常是制定一套标准或规范。



接口和抽象类的区别---相信你看完不会再混淆了

一、引言 我想,对于各位使用面向对象编程语言的程序员来说,“接口”这个名词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?它和抽象类有什么区别?能不能用抽象类代替接口呢?而且,作为程序员,一...
  • wenwen091100304
  • wenwen091100304
  • 2015年09月12日 11:09
  • 22267

c++中抽象类与接口的区别

其实对抽象类与接口的区别一直是搞不太清楚,最近正在学习《设计模式》,期间用到了很多c++多态的知识。这是才恍然发现,是应该整理下这方面的知识了。但在翻阅书本、上网查阅资料之际,发现有篇文章总结的不错。...
  • wjeson
  • wjeson
  • 2013年12月03日 15:19
  • 4857

面试题_抽象类和接口的区别

含有abstract修饰符的class 即为抽象类,abstract类不能创建实例对象,含有abstract的方法的类必须定义为abstract class ,abstract class 里的方法不...
  • baidu_31337243
  • baidu_31337243
  • 2015年09月15日 21:35
  • 1728

小鸦-Java8抽象类与接口的区别

前序: 被不少考官问过, 这次想重新整理一下.我们以下面的表格作为参考 原地址: http://www.importnew.com/12399.html (侵删)首先, 我们必须明白, 抽象类是什么...
  • u014041227
  • u014041227
  • 2017年03月28日 00:59
  • 287

JAVA中接口和抽象类的区别?

原文:http://blog.csdn.net/sunboard/article/details/3831823 1.概述 一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实...
  • u010355144
  • u010355144
  • 2015年04月08日 18:04
  • 443

JAVA-抽象类和接口的区别总结

首先.抽象类和接口都很好的提供了一种将实现和接口分离的方法..  一、抽象类 我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的。如果一个类没...
  • oshirdey
  • oshirdey
  • 2014年07月26日 15:07
  • 1274

unity3D__复习(接口与抽象类的区别)

欢迎大家关注我的日志,简单的复习下以前的知识: 一、抽象类: 1.在C#中使用关键字 abstract 来定义抽象类和抽象方法。 2.不能初始化的类被叫做抽象类,它们只提供部分实现,...
  • qq_23337215
  • qq_23337215
  • 2014年12月26日 20:07
  • 532

抽象类和接口的区别与联系

抽象类和接口的区别与联系 什么是抽象类 在面向对象的概念中,所有的对象都是用类来描述的,就是说某一个新的对象是通过实例化一个类而来的,但是,并不是所有的类都是用来描述对象的,也就是说并不是所有的类都可...
  • u010456903
  • u010456903
  • 2015年05月20日 14:58
  • 2083

总结抽象类与接口的关联和区别

对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,...
  • hupoling
  • hupoling
  • 2016年09月06日 10:26
  • 451

浅析C#中抽象类和接口的区别

文章《浅析C#中接口的重要性》中讲述了如何声明和使用接口。但是C#具有abstract关键字形成的抽象类,那么二者我们该如何选择呢!C#允许把类和函数声明为abstract。抽象类不能实例化,而抽象函...
  • wangshubo1989
  • wangshubo1989
  • 2015年09月01日 09:00
  • 3388
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:抽象类和接口的区别
举报原因:
原因补充:

(最多只允许输入30个字)