Worth mentioning that you can disallow reflection via the security manager, at least in earlier versions of the JVM.