2
戻り値の型が明示的に指定されていない場合、Unitを返すメソッドをStringを返すメソッドでオーバーライドできるのはなぜですか?
私はScala Edition1のプログラミングにおける特性の章のコード例を通して作業していました https://www.artima.com/pins1ed/traits.html そして私のタイプミスのために奇妙な行動に出くわしました。以下の特性のオーバーライドメソッドでは、コードスニペットではコンパイルエラーは発生しませんが、オーバーライドされたメソッドの戻り値の型はUnitvs とは異なりStringます。しかし、オブジェクトのメソッドを呼び出すと、Unitが返されますが、何も出力されません。 trait Philosophical { def philosophize = println("I consume memory, therefore I am!") } class Frog extends Philosophical { override def toString = "green" override def philosophize = "It aint easy to be " + toString + "!" } val frog = new Frog //frog: Frog …