The problem is not Java, but some types of architects that flourish in corporations, usually doing designs with endless numbers of abstractions, layer upon layer.
I've seen this happening in C, followed by C++, and now Java and C#.
They will do it regardless of the language being used.