Java抽象类与接口的区别

原创 2013年12月03日 11:35:07
含有abstract修饰符的class 即为抽象类,abstract类不能创建实例对象,含有abstract的方法的类必须定义为abstract class ,abstract class 里的方法不必是抽象的,抽象类中定义抽象方法必须放在具体子类中实现,所以呀,不能有抽象的构造方法或抽象的静态方法,如果子类没有实现抽象父类中的所有 方法,那么,子类也必须定义为抽象类。
  接口(interface)可以说成是抽象类的特例。接口中的所有方法都必须是抽象的,接口中的方法定义默认为public abstract 。接口中的变量是全局常量,即public static final修饰的。 看一下他们在语法上的区别吧!
  1,抽象类里可以有构造方法,而接口内不能有构造方法。
  2,抽象类中可以有普通成员变量,而接口中不能有普通成员变量。
  3,抽象类中可以包含非抽象的普通方法,而接口中所有的方法必须是抽象的,不能有非抽象的普通方法。
  4,抽象类中的抽象方法的访问类型可以是public ,protected和默认类型,但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。
  5,抽象类中可以包含静态方法,接口内不能包含静态方法。
  6,抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static类型,并且默认为public static类型。
  7,一个类可以实现多个接口,但只能继承一个抽象类。再补充点两者在应用上的区别: 接口更多的是在系统框架设计方法发挥作用,主要定义模块之间的通信,而抽象类在代码实现方面发挥作用,可以实现代码的重用

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

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

java中抽象类和接口之间的区别和关系

首先抽象类归根结底还是属于类,对于抽象方法,是只能存在于抽象类中的,我们无法再一个非抽象的类中声明一个抽象方法,其次抽象方法只需要声明,并不需要事先。当我们要写一个抽象类的时候只需要在类的前面声明为a...
  • ysayk
  • ysayk
  • 2016年06月12日 23:08
  • 1179

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

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

java中抽象类和接口的三点区别

一个类可以实现多个接口,但却只能继承最多一个抽象类 抽象类可以包含具体方法;接口的所有方法都是抽象的 抽象类可以声明和使用字段;接口则不能,但可以创建静态的final常量 抽象类中的方法可以是p...
  • sundujing
  • sundujing
  • 2015年11月06日 16:36
  • 1118

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

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

面试常见题---------java中抽象类跟接口的区别

含有abstract修饰符的class 即为抽象类,abstract类不能创建实例对象,含有abstract的方法的类必须定义为abstract class ,abstract class 里的方法不...
  • huangchunwju
  • huangchunwju
  • 2014年04月23日 11:31
  • 942

简单介绍java抽象类和接口的区别

抽象类:在面向语言的概念中,所有的对象都是通过类来描绘的,但是反过来却不是这样,如果一个类中没有足够的信息去描绘一个具体的对象,那么这个类就是抽象类。 接口:不同类的对象对同一行为产生不同的行为结果...
  • u012402177
  • u012402177
  • 2016年02月24日 10:18
  • 610

java抽象类与接口的区别(谈谈自己的理解)

抽象类?什么是抽象类? 从名字上来讲,我觉得就是对类的一个抽象,把类(事物)抽象出来,当做模板,也就是说在有很多类的时候,我们把一些相似的类的某些方法,某些成员变量抽象出来作为一个模板,让这些类更方...
  • u012883858
  • u012883858
  • 2016年03月14日 11:15
  • 2767

java语言中关于抽象类和接口的区别(面试经常问到,因此总结一下)

写下这篇文章的原因是基本上是在自己面试的时候很多公司都问我们这个问题,但是此前自己回答的都比较模糊,抓不到重点,毫无规律,特此在这总结一下。          先对他们进行说明:           ...
  • u014492098
  • u014492098
  • 2014年12月06日 09:51
  • 1917

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

含有abstract修饰符的class 即为抽象类,abstract类不能创建实例对象,含有abstract的方法的类必须定义为abstract class ,abstract class 里的方法不...
  • baidu_31337243
  • baidu_31337243
  • 2015年09月15日 21:35
  • 1791
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java抽象类与接口的区别
举报原因:
原因补充:

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