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.