@reus

Передача в конструктор любого объекта?

Такой вопрос. Как прописать аргументы конструктора чтобы принимался любой объект реализующий нужный интерфейс?
по идее это должно быть как-то так
public MyClass(<? extends MyInterface> obj){
...
}

Но так не работает. Как это правильно реализовать в java?
  • Вопрос задан
  • 159 просмотров
Пригласить эксперта
Ответы на вопрос 3
public MyClass(MyInterface obj){
...
}
Ответ написан
Комментировать
@davidnum95
Можно так:
public <T extends SomeInterface> MyClass(T object) {
}
Ответ написан
Комментировать
jamakasi666
@jamakasi666 Куратор тега Java
Просто IT'шник.
Это называется generics.
class MyClass<T extends MyInterface>{
private T val;
public MyClass(T obj){
val= obj;
...
}
}

В вашей ситуации можно обойтись както так:
public MyClass(MyInterface obj){
...
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы