У меня есть черта Scala A
с абстрактным методом
trait A[T] {
def self: T
}
Теперь мне случилось, что я хочу расширить класс Java, не находящийся под моим контролем, с помощью поля с тем же именем:
public class B<T> {
protected T self;
}
Я бы хотел, чтобы класс C
был определен как
class C[T] extends B[T] with A[T] {
override def self: T = /* the field `self` of `B` ??? */
}
Можно ли как-то получить доступ к полю B.self
, чтобы вместо этого оно не разрешалось в метод A.self
? Возможен ли вообще такой сценарий?