【发布时间】:2023-03-13 16:01:01
【问题描述】:
我的特质中有一个方法
def controller: AnyRef
但我的具体类没有实现该方法,它仍在编译。编译器也不允许我向该方法添加抽象。如何在 trait 中创建一个方法来强制它的实现者实现它?
谢谢, 院长
【问题讨论】:
-
该类是否扩展了您的特征抽象?
-
是的,我想通了。在具体的子类中,有一个 val controller = new Controller,当这种情况发生时,由于某种原因,在 trait 方法中调用 controller 最终返回 null。我在下面添加了真正的答案(但随后有一个关于它为什么编译的新问题)