有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是,Java不支持多重继承。有了接口,就可以得到多重继承的效果。
1.接口(interface)是抽象方法和常量值的定义的集合。
从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。
2.实现接口类:
class SubClass implements InterfaceA{ }
一个类可以实现多个接口,接口也可以继承其它接口。
3.接口的特点:
用interface来定义。
接口中的所有成员变量都默认是由public static final修饰的。
接口中的所有方法都默认是由public abstract修饰的。
接口没有构造器。
接口采用多继承机制。
4.实现接口的类中必须提供接口中所有方法的具体实现内容,方可实例化。否则,仍为抽象类。
接口的主要用途就是被实现类实现。(面向接口编程)
与继承关系类似,接口与实现类之间存在多态性
定义Java类的语法格式:先写extends,后写implements
package com.atguigu.java; /* * 接口(interface)是与类并行的一个概念 * 1.接口可以看做是一个特殊的抽象类。是常量与抽象方法的一个集合。 * 2.接口是没有构造器的。 * 3.接口定义就是一种功能。此功能可以被类所实现(implement). * 比如:class CC extends DD implements AA * 4.实现接口的类。必须要重写其中的所有的抽象方法,方可实例化。 * 若没有重写所有的抽象方法,则此类仍为抽象类。 * 5.类可以实现多个接口。----java中的继承是单继承的 * 6.接口与接口之间也是继承的关系,而且可以实现多继承。 * >5,6是描述的java中继承的特点。 * 7.接口与具体的实现类之间也存在多态性 */ public class TestInterface { } interface AA{ //常量:所有的常量都是用public static final修饰,可写可不写 // public static final int I = 11; // public static final boolean FLAG = false; int I = 11; boolean FLAG = false; //抽象方法:所有的都用public abstract修饰 void method1(); void method2(); } abstract class BB implements AA{ } class DD{ } interface MM{ void method3(); } class CC extends DD implements AA,MM{ public void method1() { } public void method2() { } public void method3() { } } //接口之间仍为继承关系!(多继承) interface JJ extends MM{ void method4(); } class GG implements JJ,AA{ @Override public void method4() { // TODO Auto-generated method stub } @Override public void method3() { // TODO Auto-generated method stub } @Override public void method1() { // TODO Auto-generated method stub } @Override public void method2() { // TODO Auto-generated method stub } }
相关推荐
股票行情实时数据接口-A股,完全免费的沪深证券股票数据-中国股市,python最简封装的API接口,包含日线,历史K线,分时线,分钟线,全部实时采集,系统包括新浪腾讯双数据核心采集获取,自动故障切换,STOCK数据格式成...
【IT十八掌徐培成】Java基础第06天-02.接口-USB-Jing8.zip
本文档作为ISO 15118系列其他部分的基础,为EVCC和SECC之间的导电和无线HLC规定了术语和定义,一般要求和使用案例。 本文档适用于在手动或自动连接设备中涉及导电和无线电力传输技术的HLC。 该文档也适用于从EV供应...
Java基础--接口类相关示例,源代码加注释,希望能帮助你理解interface的相关知识。
第5章--MCS-51单片机接口基础-ppt课件(全).ppt
接口测试-postman基础篇
基于laravel5.5开发的基础后台管理脚手架, RBAC权限控制; 接口-laravel_admin_api
LVDS基础知识及典型应用 1. What is LVDS? 2. LVDS Circuit Basics 3. LVDS Common-mode Range
微信公众号零基础开发视频--JS-SDK的基础接口和分享接口,零基础视频开发介绍 对应视频请下载对应连接,微信公众号开发视频(全)
第01天-基础-基本概念、环境搭建、第一个Go程序 第02天-基础-包、函数、常量、数据类型、字符操作 第03天-基础-作业讲解、流程控制、函数详解 第04天-基础-闭包、数组、切片、锁机制 第05天-进阶-排序、链表、二叉树...
通过接口可以使用相同接口的引用来访问实现相同接口的不同类的方法,其实是使用虚方法通过相同的引用调用相同基础的不同的类。在开始前先使用简单的短类例子来解释接口的概念,下面的简短的例子显示接口的特性。 ...
005-OA开发基础之--E9常见接口开发(后端).ppt
本标准是在SMGP协议V2.0的基础上,基于3G网络的短消息业务发展需求进行修订而成。 本标准共包含3部分:1、SMGP基本协议;2、SMGP协议扩展计费接口;3、SMGP协议扩展电子商务接口。本文只描述了第1部分SMGP基本协议,...
微信小程序学习demo:基础接口演示demo(源代码+截图)微信小程序学习demo:基础接口演示demo(源代码+截图)微信小程序学习demo:基础接口演示demo(源代码+截图)微信小程序学习demo:基础接口演示demo(源代码+截图)微信...
单片机原理、接口及应用--嵌入式系统技术基础,清华大学出版
第8章 串行通信接口8.1 串行通信基础知识8.2 S3C2410串行接口8.3 串行通信举例8.4 IIS串行数字音频接口8.1 串行通信基础知识串行通信的特
DL/T 890.301-2016 能量管理系统应用程序接口(EMS-API) 第301部分:公共信息模型(CIM)基础
第8章 串行通信接口8.1 串行通信基础知识8.2 S3C2410串行接口8.3 串行通信举例8.4 IIS串行数字音频接口8.4 串行数字音频接口一、数字音频