其run方法前面为啥要加个abstract?看源码时偶然注意到的:
public interface Runnable {
public abstract void run();
}
接口中的方法默认是public abstract的,写不写都行
Java的interface和abstract class都可以定义不提供具体实现的方法。其中一个类不能继承自多个abstract class,但是可以实现多个interface。Java的类没有多重继承,所以用interface的概念来补充,通过实现多个interface来实现多重的继承。
在Java中所有的对象都用类来描绘,但是不是每一个类都用来描绘对象的。用来描绘某一类对象共有的本质,这就是抽象。比如:形状存在着圆、三角形这样一些具体概念,它们是不同的,但是它们又都属于形状这样一个概念,形状这个概念在问题领域是不存在的,它就是一个抽象概念。正是因为抽象的概念在问题领域没有对应的具体概念,所以用以表征抽象概念的抽象类(这儿的抽象类并不是abstract class翻译而来的,它包括interface和abstract class)是不能够实例化的。我们可以构造出一个固定的一组行为的抽象描述,但是这组行为却能够有任意个可能的具体实现方式。
从语言层面上面来讲:abstract class可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface方式的实现中,只能够有静态的不能被修改的数据成员(也即interface是static final的),所有的成员方法都是abstract的。从这种角度来说,interface是abstarct class的一种特殊情况。abstract class可以提供某些方法的部分实现,而interface不可以,这大概就是abstract class唯一的优点吧,但这个优点非常有用。如果向一个抽象类里加入一个新的具体方法时,那么它所有的子类都一下子都得到了这个新方法,而interface做不到这一点,如果向一个interface里加入一个新方法,所有实现这个接口的类就无法成功通过编译了,因为你必须让每一个类都再实现这个方法才行。
分享到:
相关推荐
### C#接口基础教程知识点详解 #### 接口概述 - **定义**:接口(Interface)是一种编程概念,用于定义程序间的约定。它为类或结构体提供了必须遵循的规范,确保实现接口的对象具备相同的特性。 - **实现**:任何...
本教程“基于C#的接口基础教程”旨在深入浅出地讲解C#中的接口(Interface)这一核心概念,帮助初学者或进阶开发者更好地理解和运用这一特性。 接口在C#中扮演着关键角色,它定义了一组方法签名,但不包含任何实现...
【微机原理与接口基础实验】是一门课程,主要涵盖了8255并行接口的应用,包括了多个实验项目,如流水灯显示、键盘输入及显示等,旨在让学生熟悉并行接口的编程与应用。 实验的重点是8255可编程外围接口芯片,它是...
SAP作为主流的ERP管理产品,也需要跟各大平台、系统或者是内部产品之间进行数据交换,这个时候我们就需要使用到接口。当然,这里我们要暂时忽略接口的广义定义,我们就当他是系统平台间数据传输的工具、一种技术。 ...
这个“RS485通讯接口基础知识大全.rar”压缩包包含了一份名为“RS485接口知识.doc”的文档,该文档应该详细讲解了RS485接口的相关知识。 首先,RS485是一种串行通信接口,由EIA(Electronics Industries Alliance,...
在本讲"第二讲 套接口基础"中,我们主要探讨了套接口(Sockets)作为互联网编程的基础,以及与之相关的概念和技术。套接口是UNIX系统中用于实现网络通信的一种API,允许程序员构建跨网络的应用程序。下面将详细阐述...
java基础之接口基础
产品经理在日常工作中,经常需要与开发团队沟通接口相关问题,因此理解接口基础知识至关重要。本文将详细阐述接口请求与响应、接口类型以及网络协议这三个关键概念。 首先,接口的基本操作涉及请求(Request)和响应...
于C#的接口基础教程之四 - DotNet教程.htm于C#的接口基础教程之四 - DotNet教程.htm于C#的接口基础教程之四 - DotNet教程.htm
spi接口基础知识大全,自己总结的,希望大家多多支持。
接口基础(1).xmind
了解主板接口的基础知识对于理解和维护计算机硬件至关重要。 1. **I/O 接口分类** - **I/O 接口芯片**:这些集成芯片通常包括定时/计数器、中断控制器、DMA控制器和并行接口等,通过CPU指令和参数控制I/O电路和...
第2章_PC系统及PC机接口基础.pptx
第5章--MCS-51单片机接口基础-ppt课件(全).ppt
理解微机接口的基础知识与讲解对于学习计算机硬件和系统设计至关重要。 首先,我们要了解接口的基本概念。接口通常由一组电路和控制逻辑组成,它们负责数据传输、设备状态的监控以及错误处理。接口电路包括数据线、...
Python API接口开发是一种常见的软件开发任务,特别是在微服务架构中,接口扮演着连接不同...本教程提供的内容是一个基础的起点,随着深入学习,开发者还可以掌握更多高级特性和最佳实践,以应对更复杂的接口开发需求。
通过接口可以使用相同接口的引用来访问实现相同接口的不同类的方法,其实是使用虚方法通过相同的引用调用相同基础的不同的类。在开始前先使用简单的短类例子来解释接口的概念,下面的简短的例子显示接口的特性。 ...
Java 接口基础知识详解 Java 接口是 Java 编程语言中的一种抽象类型,可以定义一组相关的方法,但是这些方法的实现却可以是多种多样的。接口是 Java 面向对象编程的重要组成部分,它提供了一种方式来定义一种类型,...
1. **接口基础** 接口在编程中起着规范和抽象的作用,它定义了一组方法,但不提供具体的实现。在Java等面向对象语言中,接口是类之间协作的一种方式,允许不同类共享相同的行为。实验可能涉及创建自定义接口,理解...