接口与实现基础 DAY ONE
接口与实现
DAY ONE
目录
DAY ONE
第一节:接口
第二节:接口实现
DAY TWO
第三节:接口回调
第四节:接口与多态
第五节:接口参数
DAY THREE
第六节:面向接口编程
前言
自学Java总结的一些接口知识点。
第一节、接口
1.1什么是接口?
接口是Java语言中一种重要的数据类型,接口解决了Java无法实现多继承的弊端
1.2为什么要使用接口?
1、接口可以抽象出重要的行为标准,这个行为标准用抽象方法来表示
2、可以把实现接口的类的对象的引用赋值给接口变量,该接口变量可以调用类中重写的接口方法,即体现这个类根据接口里的行为标准给出的具体行为
1.3定义接口
在Java中使用关键字interface来定义一个接口。接口与类的定义相似,分别为接口声明与接口体
如:
interface Animal{public void cry();public String getAnimalName();
}
①接口声明格式:
interface 接口的名字
如以上代码中的
interface Animal
②接口体
接口体中包含常量声明与抽象方法两个部分。接口体中不能有变量与普通方法,且接口中所有的常量访问权限一定是public,而且是static常量(声明时可以省略public、final与static修饰符),所有的抽象方法访问权限也都是public(可以省略public abstract)
如:
interface Mash{public static final int number = 888;//可以写成:int number=888;public abstract void add();//可以写成:void add();public abstract float sum(float x,float y);
}
第二节、实现接口
1.1类实现接口
一个类需要在类声明后使用关键字implements声明该类实现一个或者多个接口。实现多个接口用逗号分隔开接口名,例如:A类实现B,C两个接口
class A implements B,C
1.2重写接口中的方法
如果一个非抽象类实现了某个接口,那么这个类必须重写这个接口中的所有方法。有一点要注意,接口中的方法一定是public abstract方法,在重写时要去掉修饰符abstract、且访问权限一定要用public来修饰(不然就降低了访问权限,这是不允许的),并且给出方法体。
例子一:
Animal.java
interface Animal{//定义接口void cry();public String getAnimalName();
}Dog.java
public class Dog implements Animal{//Dog类实现Animal接口@Overridepublic void cry() {//重写方法加上publicSystem.out.println("旺旺旺,我是小狗!");System.out.println("---------------------");}@Overridepublic String getAnimalName() {return "小狗";}
}Cat.java
public class Cat implements Animal{@Overridepublic void cry() {System.out.println("喵喵喵,我是小猫!");}@Overridepublic String getAnimalName() {return "小猫";}
}Example.java
public class Example {public static void main(String[] args) {Dog dog=new Dog();System.out.println(dog.getAnimalName());dog.cry();Cat cat=new Cat();System.out.println(cat.getAnimalName());cat.cry();}
}
运行结果:
总结
以上就是今天要讲的内容,本文仅仅简单介绍了接口的声明与实现
接口与实现基础 DAY ONE相关推荐
- 快速入门脑机接口:BCI基础(二)
关于脑机接口的分类可以查看<快速入门脑机接口:BCI基础(一)> 组成成分 脑活动 神经系统由两个主要部分组成:中枢神经系统和周围神经系统.大脑是中枢神经系统的主要器官,它包含约1000亿 ...
- 【STM32H7】第3章 ThreadX FileX移植SDIO接口SD的基础知识
论坛原始地址(持续更新):http://www.armbbs.cn/forum.php?mod=viewthread&tid=100749 第3章 ThreadX FileX移植SDIO接 ...
- A股交易接口类的基础知识
A股交易接口类的基础知识-ES6+类 constructor构造函数 类通过class关键字来定义一个类. 类可以有自己的构造函数constructor,当我们通过new关键字创建一个实例时,构造函数 ...
- SPI接口的FPGA实现(一)——SPI接口的相关基础知识
SPI系列文章主要介绍SPI接口的一些基础知识,并用DAC芯片81416的配置为例来具体说明SPI接口的具体FPGA实现. 一.SPI的基础 SPI的全称是Serial Peripheral Inte ...
- mysql 存储引擎接口_MySQL 的基础一(连接池, SQL接口, 查询解析器, 查询优化器, 存储引擎接口, 执行器,)...
MySQL数据库的连接池 现在我们已经知道,我们任何一个系统都会有一个数据库连接池去访问数据库,也就是说这个系统会有多个数据库连接,供多线程并发的使用.同时我们可能会有多个系统同时去访问一个数据库,这 ...
- 为什么派生的子类报错不能实例化抽象类_一文搞懂抽象类和接口,从基础到面试题,揭秘其本质区别...
目录 #抽象类介绍 #为什么要用抽象类 #一个抽象类小故事 #一个抽象类小游戏 #接口介绍 #接口与类相似点: #接口与类的区别: #接口特性 #抽象类和接口的区别 #接口的使用: #接口最佳实践:设 ...
- java 指令接口架构,JavaSE 基础大纲
Java基础(JavaSE) 1.Java 基础语法: 1.1 注释 行内注释 // 多行注释 /**/ 文档注释 /** */ - javadoc 生成帮助文档 1.2 标识符 关键字 1.3 数据 ...
- 实体类 接口_Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口)
原文:Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口, 视频讲解) 这里分享三道编程题, 下面是我个人的视频讲解 二维数组, 五子棋游戏, 实体类和接口_哔哩哔哩 (゜-゜)つロ ...
- 微机原理与接口技术的基础知识
微机原理与接口技术 微控制单元 (Microcontroller Unit:MCU) ,又称单片微型计算机 (Single Chip Microcomputer )或者单片机,是把中央处理器 (Cen ...
- L9ARM体系结构与接口技术--计算机硬件基础(day1)
目录 一.计算机基础知识 1.操作系统的作用 2.应用开发(应用软件) 3. 底层开发(硬件) 一.Linux层次结构 编辑 Linux子系统 二.ARM体系结构与接口技术课程导学 三.计算机基础知 ...
最新文章
- C++ 向量(vector) 的使用
- 其他算法-浅谈小波变换
- 死磕Java并发:J.U.C之阻塞队列:PriorityBlockingQueue
- My interested stuff(2008-07-10)
- Caffe官方教程翻译(3):Siamese Network Training with Caffe
- [转]【Android】9-patch图片以及例子说明
- Html、CSS、JavaScript 实时效果在线编辑器 - 学习的好工具,算不算?!
- json 字符串反序列化成DataSet
- Extjs可视化设计视频教程二
- CSS:CSS定位和浮动
- Java代码实现—寻找素数
- Smart3D软件基本操作步骤
- 联想教育应用使用说明(7.6版本)——第4章 网络控制工具的使用
- LINUX 远程复制
- 【Android安全】JEB技巧汇总
- QThread的用法
- C# MVC获取微信openId
- 张一鸣宣布卸任字节跳动CEO!
- 站内搜索引擎源代码 asp.net
- STM32F7 DSP库 FFT过程记录
热门文章
- canvas动画及案例
- oracle显示人民币,请问如何讲数字转变为大写人民币格式
- python编程遵循哪些规律_编程语言软件开发10个小技巧,Java、python、前端等都遵循此规律,108G资料放送中!...
- matlab中正态分布相关函数hist normfit normplot
- redis常用命令手册大全 - 笔记
- inline内联函数 static静态函数 普通函数区别
- 跨平台Brave浏览器(一百零三)
- 网站的架构CS和中间件
- Java 并发之Concurrent 包综述
- Shader(着色)