Enigma
, что бы следующая программа выдавала false
? Переопределять метод equals
нельзя!public class Conundrum {
public static void main(String[] args) {
Enigma e = new Enigma();
System.out.println(e.equals(e));
}
}
А подсказка в том, что перегружать можно ;)
class Enigma {
public boolean equals(Enigma e) {
return false;
}
}
Если два перегруженных метода принимают разные параметры, то они должны иметь идентичное поведение! И ещё, эта головоломка была бы не возможна, если бы переменная
e
была бы типа Object
:Object e = new Enigma();
Комментариев нет:
Отправить комментарий