Answer from cs61c-el (David Tung 16479725) for Question 3 The Java equivalent is "new" and class constructors. Java does not have an exact equivalent to free, but declaring references that pointed to an object null and the garbage collection of the Java Virtual Machine take over the job of freeing memory. Although it is not impossible to build an automatic allocation/deallocation system for C (after all, that is where Java came from), the idea of pointers does complicate things (you can potentially have an address to a block of memory of garbage) and it reduces the freedom of the programmer