スカラーの場合Nothing
は他のすべてのタイプのサブタイプです。スカラ:ユーザー定義のクラスを持つタイプなし
scala> class A {}
defined class A
scala> def x[T >: Nothing](t: T): Unit = {}
x: [T](t: T)Unit
scala> x(new A)
我々は、任意のクラスを作成すると、それは自動的にこのプロパティがScalaで維持されているどのようNothing
- のスーパータイプとなり?コンパイラは
Nothing
をコンパイル時に他のすべてのクラスに拡張しますか?この方法のよう - が、それはクラスのセットのサブタイプとしてカスタムクラス
X
を定義することが可能であるX
がの内のすべてのクラスから拡張することなく、(のを設定すると言いますか)? (例えば:クラスX
はパッケージcom.myproject.models
内のすべてのクラスのサブタイプである)
自分の考えを共有してください。
を参照してくださいhttps://softwareengineering.stackexchange.com/questions/195793/how-is-nothing-a-subtype-of-every-other-type-in-scala –