No, Java does not have pointers.  This was an intentional 
decision by the creators of Java, because most people would agree that 
having pointers creates a lot of potential for bugs in the code – 
pointers can be quite confusing, especially to new programmers.  Because
 arrays and strings are provided as class types in Java, there is no 
need for pointers to those constructs.  By not allowing pointers, Java 
provides effectively provides another level of abstraction to the 
programmer.
1. References store an address. That address is the address in memory of the object.
So, when a class is declared like so
Test y = new Test();
The "y" variable actually stores an address in memory.
If you were to look at that address in memory you would see the details of the Test object.
Pointers in C++, however, point directly to the object.
2. You can not perform arithmetic operations on references. So, adding 1 to a pointer is not possible, but is possible in C++.
Java has references, but not pointers
But, what Java does have is references, which are different from pointers. Here are some of the differences between references in Java and pointers in C++:1. References store an address. That address is the address in memory of the object.
So, when a class is declared like so
Test y = new Test();
The "y" variable actually stores an address in memory.
If you were to look at that address in memory you would see the details of the Test object.
Pointers in C++, however, point directly to the object.
2. You can not perform arithmetic operations on references. So, adding 1 to a pointer is not possible, but is possible in C++.
No comments:
Post a Comment