一、本周学习内容
1.接口——6.1知识
- 接口的声明
interface 接口名
- 接口体
只有常量和抽象方法
(用final、static、public修饰的变量,关键词可省略)
(用abstract、public修饰的方法,关键词可省略)
public static final int Max=100; //等价写法:int Max=100;
public abstract void add(); //等价写法:void add();
2.实现接口——6.2知识
- 类实现接口
(public) class A (extends B) implements C,D
-
重写接口中的方法
接口中的方法一定是pubic abstract方法,所以实现接口的类一定要重写接口中的方法,且要用public修饰
-
程序可用接口名直接访问常量,但如果一个类实现了接口,它就可以直接使用接口常量
-
public接口可被任何类实现,友好接口可被一个包中的类实现
-
接口可被继承,子接口用extends关键字继承父接口的所有常量和方法
-
若父类实现了某接口,则子类自然就实现了该接口,不必再用关键字implements声明
-
Java提供的接口都在相应的包中,通过import语句不仅可以引入包中的类,还可以引入包中的接口,如:
import java.io.*;
不仅引入了java.io包中的类,同时也引入了该包中的接口。
3.接口回调——6.4知识
- 接口回调是指将某实现接口的类的引用赋给接口变量,这样接口变量就可使用被类实现的接口方法(类似上转型对象)
4.理解接口——6.5知识
- 接口可以抽象出重要的行为标准,用抽象方法来表示
- 可以将实现接口的类的引用赋给接口变量,该接口变量可调用被该类实现的接口方法,即体现该类根据接口里的行为标准给出的具体行为
5.接口与多态——6.6知识
- 接口多态就是指不同的类在实现同一个接口时可能有不同的实现方式,那么接口变量回调接口方法时就可能有多重形态
6.接口参数——6.7知识
- 如果一个方法的参数是接口类型,则可将任何一个实现该接口的类的对象的引用赋给该接口参数
7.abstract类与接口的比较——6.8知识
- abstract类有变量和非抽象abstract方法,而接口不能有