接口语法
接口比抽象类更抽象的一种java文件,不是类.
语法特点
-
接口中属性是常量,没有变量,默认被 public static final修饰
-
接口中的方法默认被public abstract修饰,即每个方法都是抽象方法
-
接口中不能有构造方法,不能创建对象
-
子类实现接口,要求重写全部抽象方法否则子类定义抽象类
-
类可以实现多个接口
-
类可以同时继承加实现 (先继承再接口是可以继承接口,且支持多继承 )
/**
* 接口中属性是常量,没有变量
* 默认被 public static final修饰
*/
public static final int length = 1;
/**
* 接口中的方法默认被public abstract修饰
* 即每个方法都是抽象方法
*/
public abstract void chuanshu();
/**
* 接口中不能有构造方法
* 不能创建对象
*/
}
public class Keyboard extends Suliao implements USB , Electron{
@Override
public void chuanshu() {
System.out.println("键盘传输数据" );
}
@Override
public void tongdian() {
System.out.println("通电" );
}
}
接口也可以当做父引用指向子类对象,在多态的场景中使用
// 接口当做父引用指向子实现类对象
USB usb = new Keyboard();
USB usb2 = new Mouse();
usb2.chuanshu();
接口微观概念:接⼝是⼀种能力和约定
接⼝的定义:代表了某种能⼒。
⽅法的定义:能⼒的具体要求。
宏观概念:接⼝是⼀种标准、规范。
其实,用的时候就是跟多态场景一样,
1)将方法的参数列表定义成接口类型,调用方法时传入子实现类
2)定义接口类型数组,向数组存储接口的实现类对象