Zagadki Java zawierają różnego rodzaju niuanse języka i „podchwytliwe” fragmenty kodu. Każda następna zagadka będzie zawierała odpowiedź i wyjaśnienie do poprzedniej. Lista wszystkich zagadek.
Jeżeli znasz odpowiedź, podziel się nią w komentarzu!
Zagadka Java #11¶
Jaki, oraz dlaczego, będzie wynik kompilacji i uruchomienia poniższej klasy?
public class AndOr {
public static void main(String[] args) {
boolean raining = false;
boolean cold = false;
boolean night = true;
if (raining && cold || night) {
System.out.println("Stay at home.");
} else {
System.out.println("Let's go!");
}
}
}
Odpowiedź do poprzedniej zagadki #10¶
Poniżej znajdziesz odpowiedź do poprzedniej zagadki.
Klasa ToTakeUmbrellaOrNot nie skompiluje się – kompilator zwróci następujący błąd:
Kompilator protestuje, ponieważ klasa ToTakeUmbrellaOrNot nie implementuje metody question z interfejsu IsItRaining. To, że klasa ta dziedziczy domyślną metodę o takiej samej sygnaturze i nazwie z interfejsu ToBeOrNotToBe nie ma w tym przypadku znaczenia.