Si no quieres que la gente que use tu programa pueda ver el usuario/clave de acceso a la BDD, la unica solucion es no escribirlo NUNCA en nada que el pueda obtener. Sean .class, ficheros encriptados, lo que quieras. Si tu programa es capaz de descriptar ese fichero para obtener la clave, un usuario que modifique tu programa lo puede obtener.
Con aplicaciones "nativas" es más complicado, pero con un editor de codigo maquina tambien se puede hacer.
El escribirlas en un sitio que no pueda acceder es, pedirsela a el, obtenerla de un servidor remoto de forma segura, almacenarla en un dispositivo hardware accesible solo por clave (SmartCard) ... etc. todo lo demás es vulnerable, con más o menos dificultad.
No es cuestion de Java, todos los programas sufren el mismo problema y precisamente por eso no hay apenas programas o juegos, para instalar en cliente, que no los encuentres por Internet "desprotegidos". Es lo que hay.
@Chuidiang: El mensaje original es del 2003, así que aunque cuando lo escribió ya estaba equivocado, no creo que venga a leer una respuesta 3 años despues
.