这 2 Java 道试题是否有误?

Are these 2 Java exam questions incorrect?

我最近参加了与 Java 相关的考试,其中有 2 个问题在我看来是错误的。我希望你们中的一些人能帮助我。

问题是:

1)

public class Cell {
    public Cell(){
    }
    public char content; //The character in this cell.
    public Cell next;  // Pointer to the cell to the right of this one.
    public Cell prev;  // Pointer to the cell to the left of this one.
}

// The following method is supposed to move one node to the right in a 
// doubly linked list of Cells but it contains a flaw.
// The global variable 'currentCell' is a pointer to a Cell in the list.

public void moveRight(){
    if (currentCell.next == null){
        Cell newCell = new Cell();
        newCell.content = '';
        newCell.next = null;
        newCell.prev = currentCell;
        currentCell.next = newCell;
        currentCell = currentCell.next;
     }
 }

True or False: If 'currentCell' is at the head of the list this moveRight() method will perform its duties correctly.

对我来说,这个问题是错误的,因为 moveRight 方法不会做任何事情,因为当指针位于列表的头部时 currentCell.next 不是空的。它的职责(向右移动)不会成功。 我想知道社区的想法,因为根据考试,这应该是正确的?

2.

True or False: An interface contains method declarations as well as implementations.

我相信这应该是真的。正如 Oracle (2021) 所述,“接口声明可以包含方法签名、默认方法、静态方法和常量定义。唯一具有实现的方法是默认方法和静态方法。”

然而,考试表明正确答案为 False。

我希望有人能为我进一步澄清这一点。

谢谢!

该方法的问题不在于 != null 检查:当 currentCell 是列表的最后一个元素时,这将是正确的,在这种情况下,没有任何东西可以移动 (它不能向右移动)。

2.

从技术上讲,对于 Java 的较新版本(在 Java 8 中实现了 2014 年默认方法之后),这个问题在技术上应该是正确的,但是(个人)我认为这个问题更多的是关于接口的本质,通常用于从实现中抽象出来,仅提供方法声明。

可以断定题型不清晰,不应该成为考试的标准。 问题1含糊不清,不清楚究竟是什么意思。 对于问题 2,可以肯定地说,自 2014 年以来,正确答案应该是 True。

谢谢你的帮助。