Почему при смешивании трейта создается анонимный класс?

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рассматривается как новый тип (и который не был определен с идентификатором до )?

6
задан axel22 29 June 2012 в 21:48
поделиться