接口特点
- 接口用关键字interface表示:interface 接口名 {}
- 接口中的方法都是抽象的,没有主体
- 接口不能示例化
- 接口的子类要求重写所有方法
接口的成员方法
- 成员变量只能是常量,并且是静态的、公共的。默认带修饰符 public static final
- 接口没有构造方法
- 接口的方法只能是抽象方法,接口中的方法不能带主体
interface Inter{
public static final int num=10;
public abstract void print();
}
class Demo implements Inter{
public void print(){
System.out.println(num);
}
}
类和接口之间的关系
- 类与类:只能单继承,可以多层继承
- 类与接口:类实现接口,可以单实现可以多实现,可以在继承一个类同时实现多个接口
interface InterA{
public abstract void printA();
}
interface InterB{
public abstract void printB();
}
interface Interc extends InterA,InterB{}
class Demo implements InterA,InterB{
public void printA(){
System,out,println("A");
}
public void printB(){
System.out.println("B");
}
}
抽象类和接口之间的区别
抽象类
- 成员变量:可以变量,也可以常量
- 成员方法:可以抽象,也可以非抽象
- 构造方法:有
接口
设计理念的区别
- 抽象类 被继承体现的是"is a"的关系,抽象类中定义的是该类体系的共性功能
- 接口 被实现体现的是"like a"的关系,接口中定义的是该继承体系的扩展功能