关闭

接口和抽象类的区别

标签: 接口抽象类面向对象
127人阅读 评论(0) 收藏 举报
分类:

对于很多初次接触android的同学来说可能有很多同学闹不明白抽象类和接口的区别,今天在这里做个简单的小结。
抽象类:
1)首先要明白类在面向对象的编程中,用于对现实生活中类别的一种描述。所谓的抽象类往往都含有抽象方法。含有抽象方法的类一定是抽象类。
2)所谓抽象方法是指只有行为的概念,没有具体的行为实现的类。而且必须使用abstract关键字修饰(在对现实生活中动物这一概念的封装中,我们只能定义吃的概念,却无法定义吃的动作,因为每一种动物吃的行为实现都是不一样,我们无法对抽象出来的动物这一类别而准确的定义吃的动作)
3) 因为抽象类中含有抽象方法,其本身不能创建实例,一般类可以继承抽象类,且必须重写其中的抽象方法(需要注意一般类只能继承一个抽象类)
接口:
1)接口的作用是用制定一个通用的规范和标准,接口用interface修饰,其本身不能被实例化
2)接口中所有的方法都是抽象方法,所有的属性都是常量(需要注意接口中可以定义变量,接口变量可以引用具体实现类的实例)
3)接口只能被实现(implements),一个具体类可以实现接口,但需要重写接口中所有的抽象方法
4)接口之间可以实现多实现(注意接口和接口之间用extends来修饰)
5)一般类可以同时实现多个接口,从而实现多继承

0
0
查看评论

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

一 接口和抽象类的相似性 1 接口和抽象类都不能被实例化,它们都位于继承树的顶端,用于被其他类实现和继承。 2 接口和抽象类都可以包含抽象方法,实现接口或继承抽象类的普通子类都必须实现这些抽象方法。   二 接口和抽象类的区别 1 接口里只能包含抽象方法,静态方法和默认方法,不能...
  • chengqiuming
  • chengqiuming
  • 2017-04-12 09:57
  • 3055

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

一、引言 我想,对于各位使用面向对象编程语言的程序员来说,“接口”这个名词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?它和抽象类有什么区别?能不能用抽象类代替接口呢?而且,作为程序员,一定经常听到“面向接口编程”这个短语,那么它是什么意思?有什么思想内涵?和面向对象编程是什么关系?本文...
  • wenwen091100304
  • wenwen091100304
  • 2015-09-12 11:09
  • 22823

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

其实对抽象类与接口的区别一直是搞不太清楚,最近正在学习《设计模式》,期间用到了很多c++多态的知识。这是才恍然发现,是应该整理下这方面的知识了。但在翻阅书本、上网查阅资料之际,发现有篇文章总结的不错。于是,转载(博主勿怪)并稍作修改如下: 抽象类:抽象类是特殊的类,只是不能被实例化(将定义了一...
  • wjeson
  • wjeson
  • 2013-12-03 15:19
  • 4919

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

含有abstract修饰符的class 即为抽象类,abstract类不能创建实例对象,含有abstract的方法的类必须定义为abstract class ,abstract class 里的方法不必是抽象的,抽象来中定义抽象方法必须放在具体子类中实现,所以呀,不能有抽象的构造方法或抽象的静态方法...
  • baidu_31337243
  • baidu_31337243
  • 2015-09-15 21:35
  • 1790

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

原文:http://blog.csdn.net/sunboard/article/details/3831823 1.概述 一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时,你底层的具体实现需要考虑...
  • u010355144
  • u010355144
  • 2015-04-08 18:04
  • 548

深刻理解 抽象类与接口之间的区别

[html] view plain copy  print? span style="font-size:24px;">抽象类与接口的区别         abstract...
  • happyAliceYu
  • happyAliceYu
  • 2016-10-03 13:48
  • 936

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

一、抽象类和接口 抽象类:  抽象类是特殊的类,不能被实例化(将定义了纯虚函数的类称为抽象类);除此以外,具有类的其他特性; 重要的是抽象类可以包括抽象方法,这是普通类所不能的,但同时也能包括普通的方法。 抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。 ...
  • fandongguang0702
  • fandongguang0702
  • 2016-06-26 10:47
  • 535

Java 抽象类、普通类、接口的区别——值得你一看的干货

【概念】 抽象类、具体类是相对的,并非绝对的。抽象是一种概念性名词,具体是一种可见可触摸的现实对象。概念越小,则其抽象程度就越大,其外延也越大,反之亦然。简单说,比如“人”比“男人”抽象一点,而“生物”又比“人”更抽象一点,“物质”又比“生物”更抽象。 抽象的概念是由具体概念依其...
  • csdn_aiyang
  • csdn_aiyang
  • 2017-05-04 16:26
  • 2986

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

首先.抽象类和接口都很好的提供了一种将实现和接口分离的方法..  一、抽象类 我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的。如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样的类我们称它为抽象类...
  • oshirdey
  • oshirdey
  • 2014-07-26 15:07
  • 1434

C# 中普通类、抽象类、接口之间的区别

一、普通类和抽象类之间的异同 1.都可以被继承 2.抽象类不能被实例化,只是用来继承的。普通类可以实例化 3.抽象方法只有含方法声明而没有方法体且必须包含在抽象类里面 4.子类继承抽象类必须实现抽象类中的抽象方法除非子类也是抽象类 ...
  • T_Twory
  • T_Twory
  • 2016-05-31 09:41
  • 1989
    个人资料
    • 访问:1354次
    • 积分:45
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章存档