Elvis Lives Again
Elvis Presley, legenda rock and rolla. Są tacy, którzy nie przyjmują do wiadomości informacji o jego śmierci; wierzą, że „król” nie umarł i w prywatności wiedzie spokojne życie. A jak to jest naprawdę…
- Co pojawi się na ekranie po uruchomieniu poniższego kodu?
public class Elvis {
// Singleton pattern: there's only one Elvis
public static final Elvis ELVIS = new Elvis();
private Elvis() { }
private static final Boolean LIVING = true;
private final Boolean alive = LIVING;
public final Boolean lives() {
return alive;
}
public static void main(String[] args) {
System.out.println(ELVIS.lives() ?
"Hound Dog" : "Heartbreak Hotel");
}
}
Odpowiedzi:
(a) Hound Dog
(b) Heartbreak Hotel
(c) różnie w zależności od uruchomienia
(d) żadne z powyższych
- Odpowiedź uzasadnij i wyjaśnij dlaczego tak to działa
- Jak poprawić powyższy kod, aby zachowywał się zgodnie z intuicją
Autorami zagadki są Joshua Bloch i William Pugh