Java——为什么要有接口?
为什么要有接口?
一个类只能继承一个父类,但是可以继承N个接口。
接口的目的是指明相关或者不相关类的多个对象的共同行为,跟抽象类很相似,可以说接口是更加抽象的抽象类。
接口体现了程序设计的多态和高内聚低耦合的设计思想。
接口定义:
public interface 接口名 {/* 常量声明 *//* 方法签名 */
}
使用接口:
public interface USB { //定义接口public void start();public void close();
}
public class Test1{public static void main(String[] args) {UseInterface ui=new UseInterface(); //创建一个对象ui.useUSB(new Phone()); //采用上转型直接new了一个对象ui.useUSB(new Camera()); }}
class Camera implements USB //相机实现了接口
{public void start(){System.out.println("我是相机,我开始工作了!");}public void close(){System.out.println("我是相机,我结束工作了!");}
}
class Phone implements USB //手机实现了接口
{public void start(){System.out.println("我是手机,我开始工作了!");}public void close(){System.out.println("我是手机,我结束工作了!");}
}
class UseInterface //创建一个使用接口的类来调用接口
{public void useUSB(USB usb){usb.start();usb.close();}
}
输出结果:
我是手机,我开始工作了!
我是手机,我结束工作了!
我是相机,我开始工作了!
我是相机,我结束工作了!
使用接口就是implements(实现)一个接口,把接口含有的方法全部实现。
注意事项:
- 接口不能被实例化。
- 接口中所有方法不能有主体。
- 一个类可以实现多个接口。
- 接口可以有变量,但一定是public static final 修饰,就算你不写,JVM也会默认是这个。
- 接口中的方法只能是public修饰。
- 一个接口不能继承其他类,但是可以继承别的接口。
Java——为什么要有接口?相关推荐
- java focuslistene_Java:FocusListener接口
有了ActionListener事件监听器,就一定要有FocusListener焦点事件监听器. FocusListener接口所在包 FocusListener接口在event包中,即在开头引入该包 ...
- java如何定义一个接口inf_java.抽象、接口
抽象 如果父类当中的方法不确定如何进行{}方法体实现,那么这就应该是一个抽象方法 定义 抽象方法:在返回值前加上abstract关键字,然后去掉大括号,分号直接结束. 抽象类:抽象方法所在的类,必须是 ...
- 【Android 应用开发】Android 网络编程 API笔记 - java.net 包相关 接口 api
Android 网络编程相关的包 : 9 包, 20 接口, 103 类, 6 枚举, 14异常; -- Java包 : java.net 包 (6接口, 34类, 2枚举, 12异常); -- An ...
- Java™ 教程(Queue接口)
Queue接口 Queue是在处理之前保存元素的集合,除了基本的Collection操作外,队列还提供额外的插入.删除和检查操作,Queue接口如下. public interface Queue&l ...
- Java中的某些接口为什么没有任何方法?
java中,有些接口内部没有声明任何方法,也就是说,实现这些接口的类不需要重写任何方法. 这些没有任何方法声明的接口又被叫做标识接口.标识接口对实现它的类没有任何语义上的要求,仅仅充当标识的作用,用来 ...
- Java中Collection集合接口
在Java中有数组,但数组不能存储引用变量.所以数组用得不是很多,一般Java中用继承Collection接口的实现类比较多.其中List接口和Set接口继承了Collection接口,而Map接口并 ...
- java hashedmap_Java基础 - Map接口的实现类 : HashedMap / LinkedHashMap /TreeMap 的构造/修改/遍历/ 集合视图方法/双向迭代输出...
import java.util.*; /**一:Collection接口的 * Map接口: HashMap(主要实现类) : HashedMap / LinkedHashMap /TreeMap ...
- Java中抽象类和接口在概念、语法和应用上的区别和关系
2019独角兽企业重金招聘Python工程师标准>>> 春招开始了,盆友们都忙着准备笔试.准备面试,复习学过的知识点,当然我也不例外,在这里祝每一个"有心人"心想 ...
- java 外部接口调用 设计模式_《Java设计模式》之接口模式
-----------模式是思想的体现,而非具体的实现. 抽象的讲,类的接口是类允许其他类对象访问的方法与字段集.接口通常代表一种承诺,即方法需要实现接口方法名表示的操作,遵循代码注释和其他文档说明, ...
- java调用c视频接口_JAVA本地调用(JNI- java调用c)
记录一下工作内容,对术语了解不多,暂且这样记着吧. java调用c 一.写jni的步骤如下: 1.创建java类,定义接口函数,使用native修饰: 2.将java类编译成class: 3.将cla ...
最新文章
- 泛域名Wildcard Domain
- 计算硼原子的基态能级B---库仑排斥能
- 订单额-销售额-回款额的关系您理清楚了吗?
- App设计灵感之十二组精美的机票预订App设计案例
- MongoDB索引,性能分析
- PL/SQL 实现行列转换
- 必看谈谈数据库的锁机制!!
- ADS仿真LC低通滤波器
- Vmware 虚拟机克隆后网卡地址的修改
- 如何用计算机录视频,怎么用电脑录制视频
- JetBrains 全家桶的全流程详解
- Python学习Day3-高级数据类型
- MTK Camera 基础知识
- matlab中rand(‘seed‘,任意符号)是干什么的?
- 计算器软件测试数据,计算器软件测试报告.pdf
- 自主移动机器人常用的导航定位技术及原理
- Mars3D开发基础学习:glTF小模型
- 数据分析入门学习指南|零基础小白必看
- 深度细节 | Go 的 panic 秘密都在这
- wget 命令 指定文件夹_linux下面ftp/wget命令下载文件夹目录
热门文章
- CSDN验证不了手机
- 【C++】什么情况下会产生临时变量
- 终于来啦!DALL·E API公测开始;从加减乘除到机器学习·系列电子书;Python技术面试题库;新型AI图片库;前沿论文 | ShowMeAI资讯日报
- 每日一题 笨拙的手指
- android华为手机全屏显示
- app 上架到苹果应用商店
- 数学形态学之腐蚀算法
- android 高德卫星地图数据,白马地图 Bmap for Android v7.3.81 强大高德百度地图应用|张小北...
- 【广告架构day2】新浪广告系统架构的演进之路:服务化改造
- 图解步骤PyInstaller实践过程