概要 Javaの全てのクラスがObjectクラスから派生しているように、ScalaではAnyクラスから派生している。 Anyの直下(直接の子クラス)にはAnyRefとAnyValがある。 AnyValはIntやLong・Double等の値のクラスを表す。(Javaのプリミティブ型に相当) AnyRefはそれ以外のクラスを表す。(Javaの参照型に相当) nullはAnyRefの全てのクラス(の変数)に代入できる。 nullはNullというクラスの値になっており、Null型は全てのAnyRefの子クラスの下に位置づけられる。 (したがって、ScalaではInt等も含めて全ての型がオブジェクトということになっているけれども、Int等(のAnyValの派生クラス)の変数にはnullを代入できない) AnyVal・AnyRefも含めて全てのクラスの子クラスとしてNothingが存在する。 継承関係