This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
Basically, the stack is where local variables are kept -- ints, floats, doubles, and references to objects -- while the heap is where objects themselves are allocated. So variables on the stack can point to objects on the heap. Does this answer your question?