目录
六、运行结果
一、介绍
接口就是给出一些没有实现的方法封装到一起,到某个类要使用时将其写出来。
二、作用
1、实现多态:接口可以被多个不相关的类实现,从而实现多态性。通过接口,不同的类可以具备相同的行为,从而提高了代码的灵活性和可复用性。
2、规范行为:接口定义了一组方法的签名,可以约定实现类必须提供的行为。这样可以确保不同的类实现了相同的接口后,可以对外提供相同的服务。
3、实现多继承:Java中的类只支持单继承,但是一个类可以实现多个接口。通过接口,可以弥补类单继承的不足,实现类的多继承。
三、基本语法
interface 接口名{ } class 实现接口名 implements 接口名{ }
四、细节
1、接口不能被实例化。
2、接口中所有的方法都是public方法,里面的抽象方法可以不用abstract修饰。
3、类实现接口必须将接口中的所有方法都实现。
4、抽象类实现接口可以不用实现接口的方法。
5、接口可以多继承。
6、接口中属性的访问可以用接口名.属性名来实现。
7、接口修饰符只能为public和默认。
五、演示案例
public interface Usb {
public void open();
public void stop();
}//定义Usb接口,包含两个方法:open()和stop()。
class Computer {
public void work(Usb usb){
usb.open();//调用Usb接口的open()方法
usb.stop();//调用Usb接口的stop()方法
}//定义Computer类,包含一个方法work(),该方法接收Usb接口作为参数。
}
class Phone implements Usb{
@Override
public void open() {
System.out.println("手机开始工作");
}//重写open()方法,打印“手机开始工作”
@Override
public void stop() {
System.out.println("手机停止工作");
}//重写stop()方法,打印“手机停止工作”
}//定义Phone类,实现Usb接口,并重写open()和stop()方法。
class Camera implements Usb{
@Override
public void open() {
System.out.println("打开摄像头");
}//重写open()方法,打印“打开摄像头”
@Override
public void stop() {
System.out.println("关闭摄像头");
}//重写stop()方法,打印“关闭摄像头”
}//定义Camera类,实现Usb接口,并重写open()和stop()方法。
class test {
public static void main(String[] args) {
Computer computer = new Computer();
Camera camera = new Camera();
Phone phone = new Phone();
computer.work(camera);//调用Computer类的work()方法,传入Camera对象作为参数
computer.work(phone);//调用Computer类的work()方法,传入Phone对象作为参数
}
}