概念:接口就是给出一些没有内容的方法,封装到一起,某个类型要使用的时候,在根据某些具体情况把这些方法写出来。
语法:class 类名 implements 接口名
{
方法;
变量
}
注意事项:
- 接口不能被实例化。
- 接口中所有方法不能有主体。
- 一个类可以实现多个接口,例如:class Camera implements Usb,Kkk
- 接口中可以有变量(但变量不能用private和protected修饰)
- 接口中的变量,本质上都是static的,而且是final.
- 在JAVA开发中,我们经常把经常用的变量,定义在接口中,作为全局变量使用。访问形式:接口名.变量名
- 一个接口不能继承其他的类,但是可以继承别的接口
小结:接口更是抽象的抽象类,抽象类里的方法可以有方法体,接口里的所有方法都没有方法体,接口体现了程序设计的多态和高内聚低耦合的设计思想。
例如:
//接口
//电脑,相机,u盘,手机
package com.test3;
interface Usb{
int a=1;
public void start();
public void stop();
}
//一个简单接口
interface KKK{
}
//接口可以继承
interface Aaa extends KKK{
}
//编写相机类,并实现USB接口
//重要原则:当一个类实现了一个接口,就要求该类把接口的方法全部实现
class Camera implements Usb,KKK{
public void start(){
System.out.println("I am camera,I will start");
}
public void stop(){
System.out.println("I am camera,I will stop");
}
}
//编写手机类
class Phone implements Usb{
public void start(){
System.out.println("I am phone,I will start");
}
public void stop(){
System.out.println("I am phone ,I will stop");
}
}
//计算机类
class Computer{
public void useusb(Usb usb){
usb.start();
usb.stop();
}
}
public class Test {
public static void main(String[] args) {
//创建一个相机
Computer computer=new Computer();
Camera camera1=new Camera();
Phone phone1=new Phone();
computer.useusb(camera1);
computer.useusb(phone1);
System.out.println(Usb.a);//通过(接口名.变量名)可以访问
}
}