什么是接口
接口是抽象类的更进一步. 抽象类中还可以包含非抽象方法,
和字段. 而接口中包含的方法都是抽象方法, 字段只能包含静
态常量.
语法规则
1、接口当中的方法 ,不能有具体实现。
接口当中的方法,默认是:public abstract
2、接口当中的成员变量,默认是 public static final,
且必须在定义的时候初始化。
3、接口中不能有具体实现的方法,在JDK1.8引入的新特性,
default修饰的方法,默认方法,可以有具体的实现。
4、接口不可以进行实例化:IShape iShape = new IShape();
5、类和接口之间的关系是,implements
6、一个类可以实现多个接口class Test implements A,B,C
7、一个类可以继承一个类,同时实现多个接口
class Test extends TestAbstract implements A,B,C
8、接口可以扩展多个接口:interface D extends A,B,C
所以 接口的出现 就是为了解决java多继承的问题。
即接口跟接口之间是多继承的关系,一个接口可以继承
其他多个接口
示例
//定义接口
interface IShape {
public static final int age = 100;//定义成员变量
//default实现方法
default void func() {
System.out.println("faaafa!");
}
//抽象方法
void draw();
}
//类Rect实现接口
class Rect implements IShape{
@Override
public void draw() {
System.out.println("♦");
}
}
class Circle implements IShape {
@Override
public void draw() {
System.out.println("○");
}
}
public class Iss {
public static void drawMap(IShape shape) {
shape.draw();
}
public static void main(String[] args) {
IShape shape = new Rect();//向上转型
drawMap(shape);
drawMap(new Rect());
drawMap(new Circle());
}
}
提示
1. 我们创建接口的时候, 接口的命名一般以大写字母 I 开头.
2. 接口的命名一般使用 "形容词" 词性的单词.
3. 一般, 接口中的方法和属性不要加任何修饰符号, 保持代码
的简洁性.