cs61b-proj1b:关于接口interface的相关知识

文章介绍了在Java课程中学习测试相关内容,特别是使用JUnit库和接口(如LinkedListDeque)的实践。作者详细讲解了如何编写接口、接口方法体的使用、实现接口时的注意事项以及Overload和递归的概念,通过Palindrome类和其测试类展示了这些概念的实际应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

课程讲述了测试相关的内容,包括了junit 库的使用等内容。但开始做proj1b了,一上来就是写一个接口,没接触过的我只能现学,在这里做一个记录。

1. 对于作答proj1b有所帮助的内容
  1. 需要将你需要的文件复制到proj1b目录下,如LinkedListDeque.java
  2. 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声明之后发生这类错误会报错
     */
  3. 类似于目录(index),interface中的各类方法,如果没有在interface文件中编写方法体,则需要在对应的class类文件中进行阐述,因此,作为目录,interface中的各类方法的形参均应与class类文件中命名一致,像我这里就是“item”而学校课程文档示例里则为“Item”
  4. 与上条原则相类似,如果一个class类文件关联到一个接口上(也就是“类实现接口”时),该class类文件需要将接口中所提到的所有没有方法体的方法进行实现,否则会报错
    (当然也可以写成抽象类(abstract),但这里还不需要)
    public class LinkedListDeque <T> i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值