- Да, это вопрос, требующий помощи в отношении того, что было назначено в качестве домашней работы. Нет, это не я прошу тебя сделать мою домашнюю работу для меня. Срок был полчаса назад; Я буквально не могу изменить свое представление. Тебе просто нужно поверить мне на слово. Идем дальше ...
Я знаю, что тестирование типа объектов не требуется. Когда я искал подробности об instanceof, я обнаружил полдюжины тем, в которых люди отвечали только для того, чтобы сообщить оригинальному постеру, что они ошиблись, если им пришлось проверить, чтобы выяснить, с каким объектом они имели дело до обработки Это. Да, я знаю, я хотел бы следовать соглашениям. К сожалению, мой профессор попросил нас переопределить метод equals класса, который мы определили, и специально потребовал параметр типа Object. Если вы увидите мой код, вы, вероятно, поймете лучше:
public boolean equals(Course other){
if(!(other instanceof Course)){
return false;
} else if(other.name==this.name && other.days==this.days &&
other.start==this.start && other.end==this.end){
return true;
}
return false;
}
Вы, наверное, можете понять, куда я иду с этим. Параметр 'other' должен иметь тип Object, но программа подходит, если я оставлю его как Object и использую поля name / days / start / end. Если я изменю это на Конечно, конечно, это работает (не каламбур), но это был бы совершенно другой метод. Желаемое поведение - для всех объектов, кроме экземпляров Course, заставить метод возвращать false, и, кроме того, для несоответствующих данных между экземплярами Course, чтобы они возвращали false.
Прошу прощения за всех, кто достаточно хорошо знает Java, чтобы расстроиться, увидев такие вопросы.