1、接口可以看做是一个特殊的抽象类,是常量和抽象方法的集合
interface A{
int I=12;//所有的常量都用 public static final修饰
void method1();//所有的方法都用public abstract修饰
}
2、接口没有构造器
3、接口之间也可以是继承关系,而且可以为多继承
4、接口定义的是一种功能,此功能可以为类所实现。如:
class A extends B interface C
5、实现接口的类,必须重写接口里的所有方法,方可实例化,若没有重写所有的抽象方法,则此类仍为抽象类,
6、类可以实现多个接口。
例子:public class TestInterface {
@Test
public static void main(String[] args){
computer a=new computer();
flash b=new flash();
a.dowork(b);
a.dowork(new printer());
//实现接口匿名类对象
USB phone=new USB(){
public void start(){
System.out.println("手机开始工作");
}
public void stop(){
System.out.println("手机停止工作");
}
};a.dowork(phone);
}
}
interface USB{
void start();
void stop();
}
class flash implements USB{
public void start(){
System.out.println("U盘开始工作");
}
public void stop(){
System.out.println("U盘停止工作");
}
}
class printer implements USB{
public void start(){
System.out.println("打印机开始工作");
}
public void stop(){
System.out.println("打印机停止工作");
}
}
class computer{
public void dowork(USB usb){
usb.start();
usb.stop();
}
}