Dynamism can creep into Java code bases for various reasons. It can get in the way of reaping the many promised benefits of a statically-typed language like Java. Especially with legacy code bases, the practice can be extensive and difficult.
Java is a statically-typed language. It forces all data to be stored in somewhat structured objects, and all methods to be attached to one object or the other.