接口的总结:
1.接口本身 是一个特殊的类
2.接口的成员变量 默认是 public static final 修饰的,也就是说接口中的成员变量实际上是一个常量
3.接口中的 方法 都是抽象方法,默认修饰 public abstract
4.接口是不能够创建对象的
5.接口是没有构造方法
6.因为接口是提供给 类 去使用的,非抽象类去实现一个接口的时候,必须要把接口中所有的方法 都要实现。
接口的语法:
修饰符 interface 接口类{} 或者 修饰符 interface 接口类 extends 父接口1,父接口2{}
类实现的语法:
class 类名 extends 父类名 implements 接口1,接口2{类的内容}
并且接口方法的定义:
1.接口中的方法都是抽象方法。
2.接口中的方法,不能有任何的修饰。
3.编译器在编译的时候会自动为你加上public static fianl修饰。
如何使用接口的例子:
//定义接口类
interface Lock{
void unlock();
}
// 创建父类链接接口
abstract class Door implements Lock{
void openDoor(){
}
}
子类继承父类,并继承父类链接的接口并重写方法
class ThelfProofDoor extends Door{
public void unlock(){
}
}
接口的作用:
1.扩展功能
2.定义约束规范
3.程序解耦合性
类和接口的注意点:
1.当一个 <非抽象类> 在实现 接口的时候,必须实现接口中 <所有的方法>
2.当一个抽象类,在实现接口的时候,可以实现也可以不实现 接口中的方法, 因为抽象类的子类来实现
3.一个类可以实现多个接口
为什么抽象类可以实现也可以不实现接口中的方法?
因为抽象类本身就不能够被实例化,它给子类继承用的,所以它不可以实现这个接口中的方法,而让对应的子类来实现就可以了。(注意:如果子类也没有实现接口中的方法,则会出错。)
接口与接口之间的关系:
在java中类是单继承的,一个类只有一个直接父类,接口也是可以继承的,但是它是多继承的,也就是一个接口可以继承多个接口(接口的继承是指继承接口的方法,而且能够多继承的关键点是接口的方法是实现这个接口的类来实现的)
例如:
interface A{
void test();
}
interface B{
void test2();
}
class Test implements A,B{
public void test(){
}
public void test2(){
}
}
并且类与类之间出来继承,接口,还有关联。而关联又分为依赖、聚合、组合依赖。这是需要我们了解的。