Why does Java not support pointer?
Pointers in languages that have them make possible bugs that are extremely difficult to track down and fix. Java's designers wanted to eliminate those bugs. By making the pointers hidden and under compiler control, the coder can only make pointer mistakes that can be detected.
Because the idea of Java is to build very huge enterprice applications - with bilions lines of code. This code will be very hard to maintain and extend if code is full of pointers. You can do similar thing to c++ pointers - wrap your parameters inside another object and pass that object reference in as a parameter.