posted 7 years ago
Although I'm usually on the side of the pedants, I'm not sure how it really matters here. It's certainly true that the JLS says null is not a keyword, and that you can't use null as an identifier. They never appear to describe null as "reserved".
More importantly though, is there any useful consequence of this distinction? I mean, if the JLS had just added null, true and false to the list of keywords, and omitted any mention of the null literal or boolean literals (referring instead to the "keyword null" and the "keywords true and false" respectively) would Java behave any differently? I think the answer is no. Perhaps there's some subtle distinction at work here, but so far I can't see what it is.