natknąłem następującego kodu:NullPointerException lub wypisze zawartość statyczna zmienna na
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: elektroniczny system handlu
Byłem zaskoczony, aby nie znaleźć NullPointerException!
Q1. Dlaczego nie rzucił NullPointerException
?
Q2. Lub podczas kompilacji czasu, ze względu na deklarację kategorii o numerze static
, który wymienił system (tj. Obiekt odniesienia) na TradingSystem
i jako taki został nazwany w zasadzie TradingSystem.category
?
Również duplikat http://stackoverflow.com/questions/3293353/how-come-invoking-a-static-method-on-a-null-reference-doesnt-throw-nullpointe – Raedwald
@Raedwald technicznie, to nie dokładnie to powtórzyć. ale dobrze wiedzieć, – KNU