Вы могли бы иметь
String message = Obfuscated.decode("a string that should not be readable in class file");
, который обычно компилируется, однако после компиляции у вас есть инструмент, который проверяет байт-код, например, используя ASM ObjectWeb, изменяет литерал String так, чтобы он выглядел как
String message = Obfuscated.decode("\u86DD\u4DBB\u5166\uC13D\u4C79\uB1CD\uC313\uAE09\u1A35\u3051\uDAF6\u463B");
Чтобы было проще определять строки, которые необходимо изменить, вы можете добавить к ним префикс и убедиться, что этот префикс действительно появляется после того, как код был запутан.
String s = "Obfuscate: a string that should not be readable in class file";
// later
String message = Obfuscated.decode(s);