Hola,
Adicionalmente, que las cadenas son inmutables como indica chuidiang, también el motivo por el cual no se modifica es porque en Java los parámetros se pasan por Valor y no por Referencia.
Cita:
Iniciado por chuidiang ... la misma variable que recibes como parámetro. Pero el objeto cad2 que has pasado desde fuera permanece inmutable. ...
Aún sin el concepto de mutabilidad, la variable hello no se modifica, porque al método modify se le pasó una copia de la variable hello.
En otras palabras, s apunta a un lugar donde está almacenada la palabra "Mundo", mientras que hello apunta a un lugar donde está almacenada la palabra "Hola". Pero s y hello apuntan al mismo lugar, solamente cuando se inicia el método, si se cambia la referencia ya no apuntan al mismo lugar, porque no son la misma variable.
Seguramente ya lo sabias, solamente era para aclarar mas el concepto para "dilan_snoopy",
Saludos,