课程讲述了测试相关的内容,包括了junit 库的使用等内容。但开始做proj1b了,一上来就是写一个接口,没接触过的我只能现学,在这里做一个记录。
1. 对于作答proj1b有所帮助的内容
- 需要将你需要的文件复制到proj1b目录下,如LinkedListDeque.java
- interface更像一个index也就是目录形式的class,对各个类进行一个统合。所以在写interface的过程中只需要把你所需要的方法(method)的“title”写出来即可,不需要写出具体的方法体
(当然,在jdk1.8以后接口内已经可以编写静态static和方法体了,default即是这其中的一种)public interface Deque <T>{ /** * 添加"default"后可以在接口中添加方法体 */ default boolean isEmpty(){ if(size()==0) return true; return false; } void addFirst(T item); void addLast(T item); int size(); void printDeque(); T removeFirst(); T removeLast(); T get(int index); } /* interface接口是父类,而class方法是子类 父类在这里只进行了申明,而具体方法的实现是在子类中写的,所以在子类中需要使用“@Override"进行声明:我在子类中所写的这些方法将覆盖父类方法中的同名函数/方法 如果不用@Override进行声明,则如果我的接口和方法出现错位或是不对应,则不会报错;添加了@Override声明之后发生这类错误会报错 */
- 类似于目录(index),interface中的各类方法,如果没有在interface文件中编写方法体,则需要在对应的class类文件中进行阐述,因此,作为目录,interface中的各类方法的形参均应与class类文件中命名一致,像我这里就是“item”而学校课程文档示例里则为“Item”
- 与上条原则相类似,如果一个class类文件关联到一个接口上(也就是“类实现接口”时),该class类文件需要将接口中所提到的所有没有方法体的方法进行实现,否则会报错
(当然也可以写成抽象类(abstract),但这里还不需要)public class LinkedListDeque <T> i