mi sono imbattuto seguente codice:NullPointerException o stamperà il contenuto della variabile statica
public class TradingSystem {
private static String category = "electronic trading system";
public static void main(String[] args) {
TradingSystem system = null;
System.out.println(system.category);
}
Output: sistema di commercio elettronico
sono rimasto sorpreso di non trovare un NullPointerException!
Q1. Perché non ha lanciato il NullPointerException
?
Q2. O mentre è in fase di compilazione, a causa della dichiarazione della categoria con static
è stato fatto per sostituire il sistema (i.e riferimento dell'oggetto) con TradingSystem
e come tale è stato chiamato essenzialmente TradingSystem.category
?
Anche un duplicato di http://stackoverflow.com/questions/3293353/how-come-come-invoking-a-static-method-on-un-null-reference-doesnt-throw-nullpointe – Raedwald
@Raedwald tecnicamente, questo è non esattamente duplicato a questo. ma buono a sapersi, – KNU