scala> class A
defined class A
scala> trait B
defined trait B
Создание объекта класса A
дает нам:
scala> new A
res4: A = A@11ea3fc
Но создание объекта класса A
с примесью типажа B
дает нам:
scala> new A with B
res3: A with B = $anon$1@172aa3f
Здесь у нас есть анонимный класс (, на который намекаетanon
). Почему ?
Это потому, что тип A with B
рассматривается как новый тип (и который не был определен с идентификатором до )?