文档章节

抽象类与接口的区别(

7
 77970290
发布于 2013/09/25 00:40
字数 687
阅读 15
收藏 0

抽象类就是将类似或相似的部分给抽取出来,这句话看上去很搞笑,其实它说出了抽象类的真理。你可能会说我不是可以重写一个公共类,然后我实例化这个公共类,调用相同的方法就可以了,这里是可以,实际上抽象类的工作也就是这个,不过他省去了你实例化的这个步骤,并且你还可以生载这个方法

 

抽象类特性:

1. 非抽象子类必须完全实现这个抽象中所有的抽象方法

2. 抽象类不能被实例化,它的意义在于被扩展。访问方式TestClass::test(‘我是抽象方法’);

3. 抽象类通常(也可以没有)至少有1个抽象方法,抽象方法中没有大括号。非抽象方法是有的

4. 抽象方法不必实现具体的功能,由子类来完成

5. 在子类实现抽象类的方法时,其子类的可见性必须大于或等于抽象方法的定义

6. 抽象类的方法可以有参数,也可以为空

7.如果抽象方法有参数,那么子类的实现也必须有相同的参数个数

 

 

 

 

他们的不同点:

1.抽象类中可以有非抽象的方法而接口中只能够有抽象的方法!

2.一个子类可以继承多个接口,而一个类只能继承一个抽象类!

3.接口的使用方式通过implements关键字进行,抽象类则是通过继承extends关键字进行!

4.在声明上

接口中只能声明抽象方法(包括静态抽象方法)和静态变量.而抽象类除了包含一般类的特点,即包括属性和一般方法外,还可以声明抽象方法(包括静态抽象方法).

 

5.在写法上

一、接口的抽象方法前不用也不能加abstract关键字,默认隐式就是抽象方法,也不能加final关键字来防止抽象方法的继承.而抽象类中抽象方法前则必须加上abstract表示显示声明为抽象方法.

 

二、接口的抽象方法默认是public的,也只能是public的,不能用private、protected修饰符修饰.而抽象类则可以。

 

6. 一个非抽象类如果extends一个抽象类后只需(并且必需)所有的实现抽象方法就行了,非抽象方法可以不实现。如果implements一个接口,就必须实现接口中的所有方法(因为接口中的方法均为抽象方法);

© 著作权归作者所有

共有 人打赏支持
7
粉丝 19
博文 999
码字总数 1285206
作品 0
广州
私信 提问
4.56 抽象类和接口的区别

抽象类和接口的区别: A:成员区别 抽象类: 成员变量:可以变量,也可以常量 构造方法:有 成员方法:可以抽象,也可以非抽象 接口: 成员变量:只可以常量 成员方法:只可以抽象 B:关系区别...

msirene
2015/09/23
23
0
Java开发中抽象类和接口都有什么区别?

在Java软件开发中抽象类和接口会有一个明显的区别,具体会有哪些区别呢?下文就两者的区别做了一个比较详细的描述。 抽象类: 1、抽象类使用abstract修饰; 2、抽象类不能实例化,即不能使用...

金铭鼎IT教育
2018/12/27
0
0
深入理解Java中的抽象类和接口

对于面向对象编程来说,抽象是它的一大特征。在Java中,可以通过两种形式来体现OOP的抽象:抽象类和接口。这两者有太多向内的地方,又有太多不同的地方。很多人在初学的时候以为它们可以随意...

FunGa
2015/11/03
0
0
第十八节:详解Java抽象类和接口的区别

前言 对于面向对象编程来说,抽象是它的特征之一。 在Java中,实现抽象的机制分两种,一为,二为。 抽象类为,接口为。 今天来学习一下Java中的抽象类和接口。 目录 什么是抽象 什么是抽象类...

达叔小生
2018/08/01
0
0
小朋友学Java(9):抽象类与接口

之前提过面向对象有三大特性:封装、继承、多态。 还有另一种说法,即面象对象有四大特性:抽象、封装、继承、多态。 这两种说法都是对的,不必拘泥于哪种说法。关键要能理解这些特性的含义。...

翡翠森林Z
2017/12/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MySQL查询执行

当我们希望MySQL能够以更高的性能运行查询时,最好的办法就是弄清楚MySQL是如何优化和执行查询的。一旦理解了这一点,很多查询优化工作实际上就是遵循一些原则让优化器能够按照预想的合理方式...

问题终结者
48分钟前
0
0
CDH5动静态资源池配置与回滚

关于动态 静态资源池的配置以前都有提过,可以从以下几篇了解: YARN动态资源池配置案例 https://yq.aliyun.com/ziliao/346856# Hadoop YARN配置参数剖析(4)—Fair Scheduler相关参数 Hadoop...

hblt-j
53分钟前
3
0
WordPress仿站实战教程

有一个月没有写blog了,一直在学习wordpress的知识,现在能够进行简单的政府企业门户网站的仿制,wordpress的主题订制,一般是对前端要求比较高,wordpress学会了,建站还是非常的快的。下面...

临江仙卜算子
55分钟前
3
0
图像库stb_image

https://github.com/nothings/stb 目前一般主流的图像格式也就是bmp,jpg,png,tga,dds,除了DDS一般是给DX用的,虽然一堆OpenGL程序也有用的,但是我一般只用png和tga, png不用说了,带a...

robslove
今天
1
0
Spring 事务提交回滚源码解析

前言 在上篇文章 Spring 事务初始化源码分析 中分析了 Spring 事务初始化的一个过程,当初始化完成后,Spring 是如何去获取事务,当目标方法异常后,又是如何进行回滚的,又或是目标方法执行...

TSMYK
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部