java拾遗之abstract class 与 interface

原创 2015年10月05日 09:41:53

说实在的,一直到现在为止,大学加上工作与java打交道的时间也有好几年了,然后前段时间发现我本身对java只是一种用的状态,但实际对于java一些细颗粒的东西看着总是一知半解,有人说,知识只有你给别人讲明白了才能算是真正的会了,我抽了时间稍微整理下了一些知识点,发现确实好多东西都模糊甚至不懂.....因此想一个个针对不是特别明确的点做下拾遗。

本篇是abstract calss 与 interface,本打算是从关键字梳理开始的,看到相互关联也就顺手带上吧。初看这两个概念时,脑子里一闪而过的就是继承和实现,java没有多继承的机制,接口是可以多实现的,只能是借助单继承多实现来做一个折中方案。但是abstract class可以继承一些可以共用的方法,interface中都是需要实现的抽象方法。这个没有明确的优劣之分,搭配使用能够相得益彰。ok,先从关键字abstract详细说起,顾名思义,抽象,java是一门面向对象的语言,所以需要将不同对象的公共点提取出来形成一个公共的类或接口,这便是我理解的抽象,而抽象就需要关键字abstract了,它只能用于类和方法,它不能和static、final、native一起使用。在class中定义抽象方法时需要需要加上关键字abstract,继承该类后需要重写该方法或是子类也定义成抽象类。在interface中的写法中抽象方法有时并没有abstract,这是因为在interface中方法前是默认加上public abstract的,只不过是可以省略的。

在实际的应用情况中抽象类和接口是配合使用的,在面向对象编程时,一个对象应当只包含自己本身的属性以及动作,在加入其它对象相关拓展功能时应该通过接口的方式实现,一来是符合面向对象编程的思想,二来是便于代码维护。

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

java接口(interface)与抽象类(abstract class)的区别

很久没有看到如此精辟的文章了!作者写得实在太好了!正在学JAVA或者想了解抽象类与接口的朋友,绝对不可错过!本人极力推荐! OOP中接口与抽象类的区别 Java语言接口与继承的本质 深入理解接口...
  • zgrjkflmkyc
  • zgrjkflmkyc
  • 2013年09月30日 21:08
  • 5854

interface和abstract 的区别和相同点

在Java语言中,abstract class和interface是支持抽象类定义的两种机制。 不能创建abstract类的实例,然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实...
  • Mandypan
  • Mandypan
  • 2016年08月06日 19:30
  • 5596

抽象类(abstract class)与接口(interface)的异同

抽象类:包含抽象方法的类就是抽象类 接口:指抽象方法的集合,方法不包含方法体相同点: 都不能被实例化 接口的实现类或者抽象类的子类都必须实现了接口或抽象类中的方法后才可以被实例化 不同点: 接口只有...
  • aym_fuhong
  • aym_fuhong
  • 2016年09月05日 20:07
  • 1684

java中interface 和abstract class的区别(精简版)

※语法规则 1)抽象类中可以没有抽象方法。包含了抽象方法的类必须定义为抽象类。 如果一个类继承了抽象类:要么把父类中的抽象方法全部进行重写,如果不重写,子类也要声明为抽象类。 abstract ...
  • foreverhuylee
  • foreverhuylee
  • 2014年08月20日 09:51
  • 482

Java中abstract class 和 interface 的解释和他们的异同点(转)

(一)概述 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstrac...
  • qq_31059475
  • qq_31059475
  • 2017年04月24日 17:36
  • 137

Java抽象类(abstract class)和接口(interface)的区别

理解这篇文章的必要条件是:对面向对象基本概念的准确且深刻理解、高度的抽象思维能力!能写出这样文章的作者水平是相当高的!——博主注释 abstract class和interface是Java语言中对于...
  • zdl543
  • zdl543
  • 2014年01月07日 17:39
  • 424

Java中abstract class 和 interface 的解释和他们的异同点(转)

(一)概述     在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abs...
  • steven_liao
  • steven_liao
  • 2013年04月18日 09:10
  • 432

java中interface和abstract class的区别

在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和i...
  • minenamewj
  • minenamewj
  • 2012年12月19日 15:02
  • 317

java 接口interface和抽象类abstract class 之间的区别

Java接口和Java抽象类有太多相似的地方,又有太多特别的地方,他们的区别如下: 1 Java接口和Java抽象类最大的一个区别,就在于Java抽象类可以提供某些方法的部分实现,而Ja...
  • rually
  • rually
  • 2014年12月13日 20:14
  • 594

java编程思想-abstract class与interface

Abstract class 虽然接口的抽象层次更高一点,但是毕竟不可能你使用的全部都是interface吧,还是会碰到一些abstract class的。 abstract class就...
  • exebry
  • exebry
  • 2013年05月17日 15:24
  • 525
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java拾遗之abstract class 与 interface
举报原因:
原因补充:

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