You can approximate weak typing in Java by creating a class or interface that encompasses your entire domain of types of interest. For example, see the J2SE
Number class. At the highest level, Object does this (except for built-in types like int, double, etc.)
In general, though, if weak typing is a requirement, Java is probably not the right tool for the job.