`
249009188
  • 浏览: 45474 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Java中接口的使用方法简介

阅读更多
接口申明必须有interface关键字和接口的名字,public指明任意类均可以使用这个接口,默认情况下,只有与该接口定义在同一个包中的类才可以访问这个接口。extends 与类申明中的extends 基本相同,不同的是一个接口可以有多个父接口,用逗号隔开。而一个类只能有一个父类。子接口继承接口中所有的常量和方法。在类的申明中用implements来表示一个类实现某个接口,在类体中可以使用接口中定义的常量,而且必须实现接口中定义的所有方法(可以是空的实现但一定要实现),否则该类就是一个抽象类。一个类可以实现多个接口。接口的作用,一言以蔽之,就是标志类的类别(type of class)。把不同类型的类归于不同的接口,可以更好的管理他们。OO的精髓,我以为,是对对象的抽象,最能体现这一点的就是接口。
  接口不是类,尤其是绝对不能使用new 操作符实例化接口;
  Module md=new Module()//错误
  不过,虽然不能构造接口对象,但还是可以声明接口变量。
  Module md;
  接口变量必须指向一个实现了该接口的类的对象;
  x=new MotorModule();//只要实现了Module就对了
  可以用instanceof来检验对象是否实现了某个接口(只要它属于的类或者父类实现了某个接口都可以);
  if(anObject instanceof Module){...}
  接口在软件发布的时候是向用户公开的,用户可以通过调用实现接口的类的接口方法,而如果不实现接口用户是不能调用的。
  也就是我们常可以听到的服务提供商这样说:"如果你们的类遵循一个特定的接口,那么我们将执行这些服务
  java 接口的使用举例

//以下程序说明 并不严谨,只是为了方便初学者初步的理解接口的应用 
  interface Interface //接口 { 
  String ShowMessage(String MSG); //接口方法,因为接口方法默认是public abstract 所以这里可以不用显示书写 
  } 
  class ClassItf implements Interface //全部实现了接口interface类的方法; 
  { 
  public ClassItf() 
  { 
  //构造函数 
  } 
  public String ShowMessage(String MSG) //实现接口方法ShowMessage() 
  { 
  System.out.print(MSG); 
  return MSG; 
  } 
  } 
  /* usingItf 类调用了接口方法,来实施某一些功能,但是具体的操作有接口实现类来操作, 
  将必要的数据通信给接口,实现了数据的通信; 这里如此说明并不严谨,只是便于初学者理解 
  */ 
  class usingItf //"驱动类" 
  { 
  public String getstring; 
  public void usingItf(Interface inf,String MSG) //使用了接口定义的方法 注意:使用了Interface 的引用 inf 
  { 
  getstring=inf.ShowMessage(MSG); 
  } 
  } 
  public class Test //Test函数 
  { 
  public static void main(String args[]) 
  { 
  ClassItf newClassItf=new ClassItf(); 
  usingItf aa =new usingItf(); 
  aa.usingItf(newClassItf,"This is the firstpage!!!!"); // 注意这里传递的接口实现类的实例,还有参数 class usingItf 
  } 
  }
分享到:
评论

相关推荐

    廖雪峰 Java 教程.doc

    Java简介 安装JDK 第一个Java程序 Java代码助手 使用IDE 使用IDE练习插件 Java程序基础 Java程序基本结构 变量和数据类型 整数运算 浮点数运算 布尔运算 字符和字符串 数组类型 流程控制 输入和输出 ...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    8.1.2 在Eclipse中使用包 194 8.1.3 天上掉下个package 197 8.1.4 包带来了什么? 197 8.2 import语句:化繁为简 200 8.2.1 import语句 200 8.2.2 一网打尽包中所有类 201 8.2.3 import语句带来的小问题 202 ...

    疯狂JAVA讲义

    学生提问:当我们使用编译C程序时,不仅需要指定存放目标文件的位置,也需要指定目标文件的文件名,这里使用javac编译Java程序时怎么不需要指定目标文件的文件名呢? 13 1.5.3 运行Java程序 14 1.5.4 根据...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    8.1.2 在Eclipse中使用包 194 8.1.3 天上掉下个package 197 8.1.4 包带来了什么? 197 8.2 import语句:化繁为简 200 8.2.1 import语句 200 8.2.2 一网打尽包中所有类 201 8.2.3 import语句带来的小问题 202 ...

    (超赞)JAVA精华之--深入JAVA API

    1.2.4 在方法中定义内部类 1.2.5 匿名内部类 1.2.6 内部类使用的其它的问题 1.3 文件和流 1.3.1 什么是数据流 1.3.2 InputStream 的方法有: 1.3.3 OutputStream 的方法: 1.3.4 File 类 1.3.5 文件流的建立 1.3.6 ...

    JDOM(java)使用详解及实例

    DOM的缺点主要是来自于由于Dom是一个接口定义语言(IDL),它的任务是在不同语言实现中的一个最低的通用标准,并不是为JAVA特别设计的。JDOM的最新版本为JDOM Beta 9。最近JDOM被收录到JSR-102内,这标志着JDOM成为了...

    Java2游戏编程.pdf

    1.2 为什么在游戏中使用Java 1.3 为Java准备系统 1.3.1 安装Java SDK 1.3.2 编译和运行Java程序 1.3.3 使用命令行 1.3.4 使用集成开发环境(IDE) 1.3.5 关于Java2文档的说明 1.4 总结 第2章 预备:学习Java2 API 2.1 ...

    JAVA上百实例源码以及开源项目

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    java中的内部类内部接口详解

    一般来说,我们创建类和接口的时候都是一个类一个文件,一个接口一个文件,但有时候为了方便或者某些特殊的原因,java并不介意在一个文件中写多个类和多个接口,这就有了我们今天要讲的内部类和内部接口。...

    全国计算机二级java题库

    Java类库中常用类和接口。 四、 Java简单数据类型及运算 1. 变量和常量。 2. 基本数据类型及转换。 3. Java类库中对简单数据类型的类包装。 4. 运算符和表达式运算。 5. 数组和字符串。 五、 Java语言的基本语句 1....

    java 多线程设计模式 进程详解

    使用Runable接口的线程 线程的生命周期 线程命名 访问线程 线程的启动、停止和连接 总结 第三章 同步技术 银行的例子 异步读取数据 一个进行同步操作的类 同步块 嵌套锁 死锁 返回到银行的例子 同步静态方法 总结 ...

    JAVAGUI程序设计基于ECLIPSEVE开发环境

    基于ECLIPSE VE开发环境内容简介:《可视化Java GUI程序设计:基于Eclipse VE开发环境》内容简介:Java是当今最为流行的程序设计语言之一,GUI(图形用户界面)是当今计算机程序与用户之间的主流接口。使用可视化方法...

    Java基础知识点总结.docx

    < java.util > Collection接口 77 < java.util >Iterator接口 78 < java.util >List接口 78 < java.util >Set接口 80 < java.util >Map接口 81 把map集合转成set的方法 82 使用集合的技巧 83 Collections--集合工具...

    JAVA基础课程讲义

    字符串(java.lang.String类)的使用 90 字符串相等的判断 92 思考作业 93 上机作业 94 第四章 异常机制 95 导引问题 95 异常(Exception)的概念 96 异常分类 96 Error 97 Error和Exception的区别 97 Exception 97 ...

    Thinking in java4(中文高清版)-java的'圣经'

    2.8.2 语法 2.8.3 嵌入式HTML 2.8.4 一些标签示例 2.8.5 文档示例 2.9 编码风格 2.10 总结 2.11 练习 第3章 操作符 3.1 更简单的打印语句 3.2 使用Java操作符 3.3 优先级 3.4 赋值 3.4.1 方法调用中的别名问题 3.5 ...

    java初学者必看

    15.3.1 链表List接口方法 15.3.2 链表迭代器接口 15.3.3 链表和数组链表 15.3.4 链表应用 15.3.5 数组链表应用 15.4 集Set 15.4.1 排序集接口 15.4.2 哈希集和树集 15.4.3 树集应用 15.5 映射Map 15.5.1 ...

    java环境搭建.docx

    1.在java语言中,对各种变量,方法和类等要素命名时所使用的字符序列就是标识符。 有些标识符是jdk定义好的(关键字。 如:public) 2.java中标识符由26个英文字符大小写,数字0-9,符号_$。注意:数字不能开头。 ...

    Java核心技术 第12版 开发基础+高级特性 英文原版

    着力让读者在充分理解Java语言和Java类库的基础上,灵活应用Java提供的高级特性,具体包括面向对象程序设计、反射与代理、接口与内部类、异常处理、泛型程序设计、集合框架、事件监听器模型、图形用户界面设计和并发...

    尚硅谷Java视频Java8新特性视频教程

    尚硅谷_Java8新特性_接口中的默认方法与静态方法 ·17. 尚硅谷_Java8新特性_传统时间格式化的线程安全问题 ·18. 尚硅谷_Java8新特性_新时间与日期 API-本地时间与时间戳 ·19. 尚硅谷_Java8新特性_新时间和日期 ...

Global site tag (gtag.js) - Google Analytics