Java 接口和抽象 class

Java interface and abstract class

我们今天进行了 Java 测试,并就正确答案展开了激烈的讨论。你能帮我找到正确的答案并简单解释一下吗?

问题:这段 Java 代码有什么问题?

abstract class Fluffy {
}

interface Animal {
}

class Cat extends Fluffy implements Animal {
}

class Dog extends Fluffy implements Animal {
}

选项

  1. Animal 必须是抽象的class,而 Fluffy 必须是接口
  2. Fluffy 必须实现 Animal
  3. 动物必须是抽象的class
  4. Fluffy 必须是接口

你只能select一个答案

从编程的角度来看,代码确实没有任何问题。

我猜你的老师的意思是 Fluffy 应该是一个接口,Animal 应该是抽象的 class,但这更像是一个 design 问题而不是代码 问题。您可能可以为任何一方提出论点,使用想象的场景,因为没有真正给出场景。