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()
{
t(MSG);
return MSG;
}
}
/* usingItf 类调用了接口方法,来实施某一些功能,但是具体的操作有接口实现类来操作,
将必要的数据通信给接口,实现了数据的通信; 这里如此说明并不严谨,只是便于初学者理解
*/
class usingItf //"驱动类"
{
public String getstring;
public void usingItf(Interface inf,String MSG) //使用了接口定义的方法 注意:使用了Interface 的引用 inf
{
getstring=Message(MSG);
}
}
public class Test //Test函数
{
public static void main(String args[])
{
ClassItf newClassItf=new ClassItf();
usingItf aa =new usingItf();
gItf(newClassItf,"This is the firstpage!!!!"); // 注意这里传递的接口实现类的实例,还有参数 class usingItf
}
}
-
sun认证JSP应用开发背景及特点
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。下面来看yjbys小编介绍吧!JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在...
-
java关于多线程的操作
一般服务器端代码,每次收到一个线程,一个client就会产生:/************************开始监听**************************/intport=4311;ServerSocketserver=null;//服务器Socketclient=null;//客户端try{server=newServerSocket(port);}catch(IndirectionExceptio...
-
Java方法继承、重载和覆盖总结
Java平台是基于Java语言的平台。这样的平台非常流行。因此微软公司推出了与之竞争的平台以及模仿Java的C#语言。下面文章介绍了Java方法继承、重载、覆盖总结:1、方法继承:利用extends关键字一个方法继承另一个方法,而且只能直接继承一个类。*当Sub类和Base类在同...
-
关于Java Socket网络传输的序列化机制
采用JavaSocket网络传输的`序列化机制,将对象压扁成二进制字节,将二进制字节在网络中传输;自定义协议,将对象用字符串描述出来,将字符串用二进制表示,在网络中传输,在另外一边用相反的策略解析这个字符串,重新构造业务对象,这个方法能够在异构平台中进行传输而不变形,但...