Can Java be accurately described as statically and dynamically typed?
Yes, that would be accurate.  Also, array writes involve a runtime type check, to deal with problems associated with covariant array types.