Учитывая общий интерфейс, например следующий
interface I<T> {
void m(T t);
}
Я могу в С# создать класс, который реализует я дважды (или более) с разными типами, поставляемыми для T, например.
class C : I<int>, I<String> {
public void m(int i) { }
public void m(String s) { }
}
Это невозможно сделать на Java из-за стирания общей информации типа, но что-то вроде этого можно достичь в Scala?