为什么要有接口?

一个类只能继承一个父类,但是可以继承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(实现)一个接口,把接口含有的方法全部实现。

注意事项:

  1. 接口不能被实例化。
  2. 接口中所有方法不能有主体。
  3. 一个类可以实现多个接口。
  4. 接口可以有变量,但一定是public static final 修饰,就算你不写,JVM也会默认是这个。
  5. 接口中的方法只能是public修饰。
  6. 一个接口不能继承其他类,但是可以继承别的接口。

Java——为什么要有接口?相关推荐

  1. java focuslistene_Java:FocusListener接口

    有了ActionListener事件监听器,就一定要有FocusListener焦点事件监听器. FocusListener接口所在包 FocusListener接口在event包中,即在开头引入该包 ...

  2. java如何定义一个接口inf_java.抽象、接口

    抽象 如果父类当中的方法不确定如何进行{}方法体实现,那么这就应该是一个抽象方法 定义 抽象方法:在返回值前加上abstract关键字,然后去掉大括号,分号直接结束. 抽象类:抽象方法所在的类,必须是 ...

  3. 【Android 应用开发】Android 网络编程 API笔记 - java.net 包相关 接口 api

    Android 网络编程相关的包 : 9 包, 20 接口, 103 类, 6 枚举, 14异常; -- Java包 : java.net 包 (6接口, 34类, 2枚举, 12异常); -- An ...

  4. Java™ 教程(Queue接口)

    Queue接口 Queue是在处理之前保存元素的集合,除了基本的Collection操作外,队列还提供额外的插入.删除和检查操作,Queue接口如下. public interface Queue&l ...

  5. Java中的某些接口为什么没有任何方法?

    java中,有些接口内部没有声明任何方法,也就是说,实现这些接口的类不需要重写任何方法. 这些没有任何方法声明的接口又被叫做标识接口.标识接口对实现它的类没有任何语义上的要求,仅仅充当标识的作用,用来 ...

  6. Java中Collection集合接口

    在Java中有数组,但数组不能存储引用变量.所以数组用得不是很多,一般Java中用继承Collection接口的实现类比较多.其中List接口和Set接口继承了Collection接口,而Map接口并 ...

  7. java hashedmap_Java基础 - Map接口的实现类 : HashedMap / LinkedHashMap /TreeMap 的构造/修改/遍历/ 集合视图方法/双向迭代输出...

    import java.util.*; /**一:Collection接口的 * Map接口: HashMap(主要实现类) : HashedMap / LinkedHashMap /TreeMap ...

  8. Java中抽象类和接口在概念、语法和应用上的区别和关系

    2019独角兽企业重金招聘Python工程师标准>>> 春招开始了,盆友们都忙着准备笔试.准备面试,复习学过的知识点,当然我也不例外,在这里祝每一个"有心人"心想 ...

  9. java 外部接口调用 设计模式_《Java设计模式》之接口模式

    -----------模式是思想的体现,而非具体的实现. 抽象的讲,类的接口是类允许其他类对象访问的方法与字段集.接口通常代表一种承诺,即方法需要实现接口方法名表示的操作,遵循代码注释和其他文档说明, ...

  10. java调用c视频接口_JAVA本地调用(JNI- java调用c)

    记录一下工作内容,对术语了解不多,暂且这样记着吧. java调用c 一.写jni的步骤如下: 1.创建java类,定义接口函数,使用native修饰: 2.将java类编译成class: 3.将cla ...

最新文章

  1. 泛域名Wildcard Domain
  2. 计算硼原子的基态能级B---库仑排斥能
  3. 订单额-销售额-回款额的关系您理清楚了吗?
  4. App设计灵感之十二组精美的机票预订App设计案例
  5. MongoDB索引,性能分析
  6. PL/SQL 实现行列转换
  7. 必看谈谈数据库的锁机制!!
  8. ADS仿真LC低通滤波器
  9. Vmware 虚拟机克隆后网卡地址的修改
  10. 如何用计算机录视频,怎么用电脑录制视频
  11. JetBrains 全家桶的全流程详解
  12. Python学习Day3-高级数据类型
  13. MTK Camera 基础知识
  14. matlab中rand(‘seed‘,任意符号)是干什么的?
  15. 计算器软件测试数据,计算器软件测试报告.pdf
  16. 自主移动机器人常用的导航定位技术及原理
  17. Mars3D开发基础学习:glTF小模型
  18. 数据分析入门学习指南|零基础小白必看
  19. 深度细节 | Go 的 panic 秘密都在这
  20. wget 命令 指定文件夹_linux下面ftp/wget命令下载文件夹目录

热门文章

  1. CSDN验证不了手机
  2. 【C++】什么情况下会产生临时变量
  3. 终于来啦!DALL·E API公测开始;从加减乘除到机器学习·系列电子书;Python技术面试题库;新型AI图片库;前沿论文 | ShowMeAI资讯日报
  4. 每日一题 笨拙的手指
  5. android华为手机全屏显示
  6. app 上架到苹果应用商店
  7. 数学形态学之腐蚀算法
  8. android 高德卫星地图数据,白马地图 Bmap for Android v7.3.81 强大高德百度地图应用|张小北...
  9. 【广告架构day2】新浪广告系统架构的演进之路:服务化改造
  10. 图解步骤PyInstaller实践过程