No es posible fácilmente, ya que la máquina virtual tiene que ser capaz de leerlo. Lo que sí hay son "ofuscadores" de código, que una vez compilado el .class se dedican a cambiar los nombres de paquetes, clases, métodos y variables. No es lo mismo descompilar y ver persona.setApellido() que ver a.b()
Echa un ojo a proguard y las posibles alternativas
http://proguard.sourceforge.net/#alternatives.html
Se bueno.