Java--接口

Java——接口

接口就是给出一些没有实现的方法,封装到一起,到某个类要使用时,再根据具体情况把这些方法 写出来

接口在一定程度上实现代码解耦 [即:接口规范性+动态绑定],接口也可实现多态

接口的定义

  • 使用关键字interface

public interface [name] {}

1
2
3
public interface Swim {
public abstract void swim();
}
  • 接口不能实例化

接口和类之间是实现关系,通过implements 关键字表示

public class [name] implements [接口名] {}

  • 接口中属性的访问形式:接口名.属性名

接口的子类(实现类):

    1. 要么重写接口中所有抽象方法
    1. 要么是抽象类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Dog extends Ami implements Swim{
public Dog() {
}

public Dog(String name, int age) {
super(name, age);
}

@Override
public void eat() {
System.out.print("Dog");
}

@Override
public void swim() {
System.out.print("Dog SWim");
}
}

接口中成员的特点

成员变量

  • 只能是常量
  • 默认修饰符:public static final

构造方法

  • 没有

成员方法

JDK7以前

  • 只能是抽象方法
  • 默认修饰符:public abstract

JDK8以后

  • 接口可以有静态方法,默认方法(要使用default关键字),也就是说接口中可以有方 法的具体实现,方法默认public

接口和类的关系

类和类的关系

  • 继承关系

可以单继承不能多继承,但是可以多层继承

类和接口的关系

  • 实现关系

可以单实现也可以多实现,但必须把接口全部实现

同名的方法仅需重写一个

接口和接口之间的关系

  • 继承关系

可以单继承也可以多继承