Tom said:
Where in the JLS does it insist - or even vaguely affirm - that it
doesn't have pointers?
From the index:
pointers
See references
ISTM that the JLS considers the two words to be synonyms.
I think someone already quoted this, but if not:
http://www.j2ee.me/docs/white/langenv/Simple.doc2.html
A White Paper
May 1996
James Gosling
Henry McGilton
2.2.9 No More Pointers
Most studies agree that pointers are one of the primary features that
enable programmers to inject bugs into their code. Given that
structures are gone, and arrays and strings are objects, the need for
pointers to these constructs goes away. Thus, Java has no pointer data
types. Any task that would require arrays, structures, and pointers in
C can be more easily and reliably performed by declaring objects and
arrays of objects. Instead of complex pointer manipulation on array
pointers, you access arrays by their arithmetic indices. The Java
run-time system checks all array indexing to ensure indices are within
the bounds of the array.
You no longer have dangling pointers and trashing of memory because of
incorrect pointers, because there are no pointers in Java.
(f you want to argue that a white paper by the primary inventor of the
langauge is irrelevant, feel free, but you might as well be showing
off the latest Obama Kenyan birth certificate.)