接口
用户可自定义接口,一个Java源文件可以由类和接口组成。(可以把接口看做一种特殊的类)
使用关键字interface定义接口。
接口声明:
interface 接口名字
接口体:包含常量、抽象方法。
注:无变量、无普通方法;常量是static常量,可以省略public、static、final修饰符;抽象方法可以省略public abstract修饰符;常量和抽象方法的访问权限是public。
实现接口
一个类使用关键字implements实现一个或多个接口。
格式一:class A implements Printable,Addabl
格式二:class B extend A implements Printable,Addable
非抽象类实现接口:重写接口中的所有方法;重写方法时public不可省略。
抽象类实现接口:可以重写或直接拥有接口中的方法。
public接口:能被任何类实现。
public interface 接口名字
友好接口:能被在同一个包中的类实现。
interface 接口名字
注:可用接口名访问接口中的常量;实现接口的类可以在类体中使用接口常量。
父类实现某个接口,等于子类实现该接口,且子类不必再用implements。
使用关键字extends接口可被继承,子接口继承父接口中全部方法和常量。
Java中的接口都在相应的包中,通过import语句可以引入包中的类和接口,格式:import 包名.*;
接口回调
Com com; 接口Com声明变量com
Implecom object = new Implecom(); Implecom类创建object对象
com = object; object的引用赋值给com
注:接口属于引用型变量;接口无法调用类中非接口方法。
接口参数
接口类型的方法的参数被传递的是引用。double类型的a[ ];传递给参数的是“a”。
理解
- 接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成。接口是解决Java无法使用多继承的一种手段,但是接口在实际中更多的作用是制定标准的。或者我们可以直接把接口理解为100%的抽象类,既接口中的方法必须全部是抽象方法。(JDK1.8之前可以这样理解)
- 一个接口能被多个类实现;一个类可以实现多个接口。
- 实现接口的一些类,可以有相同的父类。
上机实践知识点
System.out.printf(“%n”);
表示在输出时换行,与System.out.println()类似。
但是%n可以根据不同的操作系统自动识别换行符,因此在跨平台时更加方便。