A few things that caught me by surprise in Java already are:
* the whole "package" business
* member variables in a class that don't have public,private,or protected written infront of them
* vectors of int, float, short etc
* all the auto-code generation features available in eclipse
I'm also still trying to get comfortable with the garbage collector. I'm not use to not deallocating memory after I request it using new.