接口:
接口严格来讲属于一个特殊的类,这个类里面只有抽象方法和全局常量,没有构造方法。
接口的特点:
1)Java接口中的成员变量都是public static final类型的(都可省略),必须被显示初始化,即接口中的成员变量为常量
2)Java接口中的方法都是public abstract类型的(都可省略),没有方法体,不能被实例化
3)当类实现了某个Java接口时,它必须实现接口中的所有抽象方法,否则这个类必须被声明为抽象类
4)接口中没有构造方法,不允许接口实例化,但允许定义接口类型的引用变量,该引用变量引用实现了这个接口的类的实例
5)类与类,类与接口,接口与接口的关系:
类与类:能单继承,不能多继承(extends)
类与接口:能单实现,也能多实现(implements)
接口与接口:能单继承,也能多继承(extends)
接口的高级用法:
interface Speak{
public abstract void said(String reciver);
}
class Tools{
public static void told(String reciver,Speak s) {
reciver+=reciver;
s.said(reciver);
}
}
//测试类
public class Test {
public static void main(String[] args) {
String reciver = "sqq" ;
Tools.told(reciver, new Speak() {
@Override
public void said(String reciver) {
System.out.println(reciver);
}
});
}
}
运行结果为:
sqqsqq