Ограничение классов, которые могут реализовывать интерфейс

Вообще говоря, возможно ли ограничить классы, которые могут реализовывать интерфейс?

Более конкретно, может ли универсальный interface Foo ограничивает свои реализации потомками T :

interface Foo<T> {}
class Baz extends Bar implements Foo<Bar> {} // desirable
class Baz extends Bar implements Foo<Qux> {} // undesirable

Контекст таков, что объекты Foo должны быть преобразованы в Бар объектов безопасным способом.

Исчерпав все другие источники информации, я уже сильно подозреваю, что это не Это возможно, но я был бы рад, если бы кто-нибудь смог доказать обратное!

5
задан eggyal 18 February 2011 в 11:40
поделиться