Я создаю приложение управления библиотекой в Java.абстрактная функция, тип параметра extends class
У меня есть абстрактный класс под названием Material
. Он имеет абстрактный метод под названием equals
.
Существует подкласс называется Newspaper
и конечно реализует equals
, с точно такой же подписью, как equals
имеет внутри Material
:
public <T extends Material> boolean equals(Class<T> elementoAComparar) {
if (this.getTitulo().equals(elementoAComparar.getTitulo()) && this.getFechaPublicacion().equals(elementoAComparar.getFechaPublicacion())) {
return true;
} else {
return false;
}
}
Java не может решить любой из методов elementoAComparar
. Все они существуют в Newspaper
, который распространяется Material
.
Я получил некоторую помощь on this thread of SO, но я не могу заставить ее работать.
Я думаю, что я действительно не понимаю, как использовать методы класса, который работает как общий параметр.
Я уверен, что это на самом деле не так сложно, но у меня действительно мало опыта работы с Java, пожалуйста, не слишком сильно на меня :)
Спасибо!
Почему ваш метод 'equals' принимает класс в качестве аргумента? – khelwood
доказывает, что я не понимал, что делаю. Теперь я действительно понимаю, что я делаю, но все еще не понимаю, что я сделал. Я действительно не понимаю значение «Класс». –
DavidVV