第四章 接口
1.问什么是接口
答:接口同样是一种规范和标准,他们可以约束类的行为,是一些方法特征的集合,但是没有方法的实现{ }。从这个角度来将,接口可以看作一种特殊的“从抽象类”,但是和抽象类完全不同的语法 ,
2.和抽象类的区别
抽象类利于代码复用,接口利于代码的扩展和维护
3.接口语法
1.定义接口
1 [修饰符]interface 接口 extends 父类接口1,父类接口2,....{ 2 //定义常量 3 //方法定义 4 5 6 } 7 class 类名 extends 父类名 implements 接口1,接口2,....{ 8 //类成员 9 10 11 12 }
5.接口的命名规则与类名相同。如果修饰符是public,则该接口在整个项目中可见;如果省略修饰符,则该接口只在当前包可见。
6.接口中可以定义常量,不能定义变量。接口中的属性都会自动用 public static final 修饰,即接口中的属性都是全局静态常量 ,接口中的常量必须在接口定义时指定初始值;
7.接口中所有方法都是抽象方法。接口中的方法都会自动调用 publilc abstract 修饰,即接口中只有全局抽象方法。
注意:1.和抽象类一样,接口也不能实例化,接口中不能有构造方法
2.接口之间可以通过extends实现继承关系,一个接口可以继承多个接口,但接口不能继承类
3.接口的实现类必须实现接口的全部方法,否则必须定义为抽象类
一个类只能有一个直接的父类,但可以通过implements实现多个接口。当类在继承父类的同时又实现了多个接口时,extends关键字必须位于implements关键字之前。
8.使用接口的步骤
1.编写接口. . ... .... .根据需求设计方法
/** * Usb接口 * 编写接口 */ public interface Usb { public final static String NAME="接口"; public abstract void show();//充电的方法 }
2.实现接口.......... 实现接口的所有方法
/** * 电风扇类 * 实现接口
* 多个接口使用","分隔实现 */ public class UsbDisk implements Usb { public void show(){ System.out.println("电风扇正在工作......"); } }
3.使用接口............ 用多态的方法使用
/*
*父类做形参 ,子类做实参
*/
public class Texs { public static void main(String[] args) { Usb usb=new UsbDisk(); usb.show();
另外程序中的一个类可以实现多个接口
9.接口有比抽象类更好的特性: 接口有比抽象类更好的特性:
1.可以被多继承
1.可以被多继承
2.设计和实现完全分离
2.设计和实现完全分离
3.更自然的使用多态
3.更自然的使用多态
4.更容易搭建程序框架;
4.更容易搭建程序框架;
5.更容易更换实现
5.更容易更换实现
练习题
必须知道的接口特性
接口不可以被实例化
实现类必须实现接口的所有方法
实现类可以实现多个接口
接口中的变量都是静态常量
10,使用接口