- 浏览: 47628 次
- 性别:
- 来自: 南京
文章分类
最新评论
接口申明必须有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 接口的使用举例
接口不是类,尤其是绝对不能使用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 } }
发表评论
-
Non-terminating decimal expansion; no exact representable decimal result
2015-05-20 09:46 864异常信息:Non-terminating decimal ex ... -
java中静态代码块的用法 static用法详解
2013-06-18 17:14 801(一)java 静态代码块 ... -
java中的native关键字
2013-06-18 14:35 894JNI是Java Native Interface的 缩写。从 ... -
Java fina 方法和类
2013-06-18 14:34 857final方法 将方法声明为final那有两个原因: ... -
Java transient关键字
2013-06-18 14:33 828java关键字Transient 转自http:/ ... -
Java Assert使用
2013-06-14 14:01 1298主要总结一下在eclipse中如何使用断言。 (一)首先明确 ... -
堆和栈的区别
2013-06-14 12:50 785堆和栈的区别 栈与堆 ... -
HashSet详解:不能重复(对象的哈希代码一样),无序
2012-09-27 16:05 1247HashSet中不允许有重复的元素。例如: Set hash ... -
java i++和++i
2012-08-28 10:30 724//i++是在一个先使用后加1,即先使用i的值,后让i+1 ... -
java 可变长参数
2012-08-15 17:08 889有时候,我们传入到方法的参数的个数是不固定的,为了解决这个问题 ... -
字符编码问题
2012-07-26 16:14 789String newStr = new String(oldS ... -
java发邮件包commons-email-1.0.jar
2012-07-26 16:11 896java发邮件的包commons-email-1.0.jar -
获取图片的宽和高 java
2012-07-26 16:09 964有两种要考虑的情况: 一种是:(图片在本地可以预览到),方法如 ... -
java 值传递和引用传递
2012-07-26 14:52 1106class Demo{ private static i ... -
java面试题解惑 之 多线程(转)
2012-07-20 15:25 10221,多线程 线程或者说 ... -
java定时器应用举例
2012-07-20 14:32 766package myThread; import jav ... -
Java中的IO整理完整版(二)
2012-07-12 16:41 638BufferedReader的小例子 注意: Buffere ... -
Java中的IO整理完整版(一)
2012-07-12 14:22 775【案例1】创建一个新文件 import java.io.*; ...
相关推荐
#### 二、Java本地方法接口简介 Java本地方法接口(Java Native Interface, 简称JNI)是Java平台提供的一种标准接口,允许Java代码调用本地应用程序编程接口(Native API),即非Java语言编写的函数。通过JNI,Java...
使用 JavaCompiler 接口来编译 Java 源程式是一种非常简单的方法。首先,我们可以通过 ToolProvider 类的静态方法 getSystemJavaCompiler 来得到一个 JavaCompiler 接口的实例。然后,我们可以使用 JavaCompiler 的 ...
本教程将详细探讨如何使用C++通过JNI(Java Native Interface)来调用Java接口。JNI是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。下面,我们将深入讲解这个过程,并结合实际例子“CInvokJava...
1. **编码问题**:处理不同字符集时,需要注意设置正确的编码方式,例如上面的例子中使用了“GBK”。 2. **异常处理**:在网络请求过程中可能会遇到各种异常,因此建议对可能出现的异常进行适当的捕获和处理。 3. **...
本文将详细介绍Postman的功能、使用方法以及如何利用它进行Java API接口的调试。 一、Postman简介 Postman是新月科技(Postman Inc.)开发的一款跨平台的应用程序,支持Windows、Mac、Linux以及Chrome浏览器扩展。...
要在Java中使用Axis2调用Web服务,首先需要在项目中添加Axis2的依赖库。这可以通过Maven或者直接下载jar包到项目的类路径中实现。然后,使用wsimport工具生成客户端 stubs,这些stubs将根据WSDL文件自动创建客户端...
在Java编程语言中,`java.lang.reflect`包是核心库的一部分,它提供了运行时访问类、接口、字段和方法的能力。这个包对于理解和操作对象的动态特性至关重要,尤其是在实现反射机制时。反射允许我们在程序运行期间...
在Java RCP中使用JNI,主要是为了访问特定于平台的功能,提升性能,或者调用已有的本地库。 1. **JNI简介** JNI是一种接口,允许Java代码与其他语言编写的代码进行通信。它定义了一套规范,使得Java虚拟机(JVM)...
这篇博客"java数据库连接方法(一)"将探讨如何在Java中建立与数据库的连接,包括JDBC(Java Database Connectivity)的基本概念、步骤以及常见的数据库连接池技术。下面是对这个主题的详细阐述。 **JDBC简介** ...
此方法很少在实际项目中使用,但在自定义XML解析器的开发中可能会用到。 方法二:使用XmlDocument类 虽然JAXP标准中没有XmlDocument类,但Apache Crimson这个XML解析器提供了这个类。通过调用`write()`方法,如`...
#### 一、Java接口简介 Java中的接口是一种抽象类型,它定义了一组方法签名而没有具体实现。接口中的方法默认是公共的、抽象的,并且不允许有方法体。通过接口,可以定义一组行为规范或功能标准,使得多个类可以...
面向过程的建模方法如结构化分析和设计(SAD)和IDEF使用数据流图来表示系统的模块结构。然而,这种方法的缺点在于子程序的抽象级别较低,难以重用,且随着数据结构的变化,程序的维护变得复杂。 相比之下,面向...
本教程将详细讲解如何使用Java版的LibSVM,包括基本接口的调用以及进行二次开发的方法。 **一、LibSVM的基本概念** 1. 支持向量机(SVM):SVM是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性...
Java调用C# DLL的方法简介 在跨平台的软件开发中,有时我们需要在Java应用程序中调用由C#编写的动态链接库(DLL)。这通常涉及到两种主要的技术:JNI(Java Native Interface)和第三方工具。这篇知识文章将详细介绍...
Java Native Interface...通过这些步骤,你就可以在Java项目中使用C/C++编写高性能的Native方法了。在实际应用中,你可以根据需求扩展这些基础概念,例如处理复杂的数据类型、多线程同步以及与Java对象的深度交互。
列出相关的JAVA接口,例如`setRegInfo()`和`getRegInfo()`,用于设置和获取设备的注册信息。 3.1.3 流程说明 详细描述配置注册信息的步骤,包括初始化设备、调用接口、设置参数等。 3.1.4 示例代码 提供完整的...