I am an experienced programmer, but my main language has been C with some C++ sprinkled in. I started learning
java from java documentation online, and from the OCA book i am reading for my certification. Coming from the simplicity of C, it is a drastic change to see so many classes and methods. The rules governing "shallow copy" of objects is understood by me, but the general rules governing shallow copy of various objects is still a bit muddled. As i try to learn java, is there a certain way to think, so that Java becomes second nature to me ? After years of using C, i get to a point where i think in C. Any online resources to show how to think object oriented and specifically Java oriented thinking ? Please don't point me to a book, because i have already seen books on "object oriented design" and such. It is hard for me to not think of 'pointers' while i read about methods like ArrayList.toArray() which seems to return a shallow copy (in my mind, a copy that is one level deep). I would like to hear opinions from those who have had 5+ years of pure java coding, resulting in a product.