【发布时间】:2012-09-05 21:19:35
【问题描述】:
来自 Java Land,我一直在尝试自学 Scala。最近我在玩Int 数据类型,我决定查找Int 类here 的API。
让我感到困惑的是Int 的类定义,即abstract final。
如果我在问这个问题之前没有阅读 Scala 中 abstract 和 final 的含义,我深表歉意,但我很好奇,所以我立即输入了这篇文章。
所以我想了解的是:
Scala 中abstract、final 和extends 的语义是否不同?
同样,据我所知,在 Java 中,不能同时拥有 abstract 和 final。
那么我该如何解读final abstract class Int private extends AnyVal呢?
【问题讨论】:
-
不,它们不是,至少基本上(你仍然不能实例化抽象,你不能继承/覆盖 final)。 AFAIK,这样做的原因是前一段时间 Int 和其他 AnyVal 类型只是一个存根,然后由编译器在编译时重写。他们不是因为this commit
-
哦,这是有用的信息。感谢您向我指出这一点
标签: scala