Я натолкнулся на следующий код:
public class TradingSystem {
private static String category = "electronic trading system";
public static void main(String[] args) {
TradingSystem system = null;
System.out.println(system.category);
}
Результат: электронная торговая система
Я с удивлением обнаружил исключение NullPointerException!
Q1. Почему он не выбрал NullPointerException
?
Q2. Или во время компиляции из-за объявления категории, имеющего static
, он заменил систему (например, ссылку на объект) на TradingSystem
и как таковой, по существу, TradingSystem.category
был вызван?