为什么要有接口?
一个类只能继承一个父类,但是可以继承N个接口。
接口的目的是指明相关或者不相关类的多个对象的共同行为,跟抽象类很相似,可以说接口是更加抽象的抽象类。
接口体现了程序设计的多态和高内聚低耦合的设计思想。
接口定义:
public interface 接口名 {
/* 常量声明 */
/* 方法签名 */
}
使用接口:
public interface USB { //定义接口
public void start();
public void close();
}
public class Test1{
public static void main(String[] args) {
UseInterface ui=new UseInterface(); //创建一个对象
ui.useUSB(new Phone()); //采用上转型直接new了一个对象
ui.useUSB(new Camera());
}
}
class Camera implements USB //相机实现了接口
{
public void start()
{
System.out.println("我是相机,我开始工作了!");
}
public void close()
{
System.out.println("我是相机,我结束工作了!");
}
}
class Phone implements USB //手机实现了接口
{
public void start()
{
System.out.println("我是手机,我开始工作了!");
}
public void close()
{
System.out.println("我是手机,我结束工作了!");
}
}
class UseInterface //创建一个使用接口的类来调用接口
{
public void useUSB(USB usb)
{
usb.start();
usb.close();
}
}
输出结果:
我是手机,我开始工作了!
我是手机,我结束工作了!
我是相机,我开始工作了!
我是相机,我结束工作了!
使用接口就是implements(实现)一个接口,把接口含有的方法全部实现。
注意事项:
- 接口不能被实例化。
- 接口中所有方法不能有主体。
- 一个类可以实现多个接口。
- 接口可以有变量,但一定是public static final 修饰,就算你不写,JVM也会默认是这个。
- 接口中的方法只能是public修饰。
- 一个接口不能继承其他类,但是可以继承别的接口。