文档介绍:第五章面向对象的高级特性
An interface is a named collection of method definitions (without implementations). An interface can also include constant declarations
接口中定义了若干个抽象方法(但是没有实现)和常量,形成了一个属性集合。
一个类可以实现多个接口
接口定义
[public] interface InterfaceName [extends 父接口名列表]
{//常量声明
[public ][static][final] 类型名称=数值;
//抽象方法声明
[public ][abstract][native] 返回值类型方法名(参数列表)[throws exceptonList];
}
接口定义
用public 修饰的接口是公共接口,可以被所有其他类和接口使用;而没有用public修饰的接口,只能被同一个包中的类和接口使用。
一个接口可以继承多个父接口,继承父接口的所有属性和方法
接口中所有域变量都必须是public ,static , final,这是系统默认的规定,所以接口属性也可以没有任何修饰符,其效果完全相同。
接口中不能定义方法体,只能声明方法,一定是public修饰的
接口中不能定义静态方法
接口中的变量
接口中的域变量,对于使用的每一个类来说是常量。所以,接口中的变量实际上可以看成是多个类共享的常量。
Comparable接口
,pareTo(Object),其定义为:
public parable{
public pareTo(Object o);
}
Comparable接口
parable的类的对象可以被排序。换句话说,parable的类包含了可以按某种有意义的方式进行比较的对象。
compareTo(Object o) 方法,该方法用于确定Java 2调用一个类的实例的自然顺序。它将当前对象与对象 o 进行比较。如果他们相等,就返回0。如果调用对象比obj小,则返回一个负值。否则返回一个正值。
Java 2 中包括Byte,Character,Double,Float,Long,Short,String以及Integer类等23个内在的类都实现了该接口。
Comparable接口
。
基本数据类型的自然排序规则
用户自定义类如何实现比较
用户自定义类可以使用实现对象比较
public parator{
public pare(Object o1, Object 02);
public boolean equals(Object obj);
}
回调—接口间的三种调用方式
A:客户方 B:服务方
A
B
同步调用
A
B
异步调用
B
A
回调
同步调用:阻塞式调用。客户方等待服务方执行完毕才返回,它是一种单向调用。
异步调用:是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的接口)。
回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口。