Hola...
Lo que tu quieres realizar ya entra en si es una buena o mala práctica de Java, las cuales podrás encontrar mucha información en Internet sobre cuales son dichas prácticas. Además que siendo honestos en mi experiencia no he tenido un motivo para tener "Clases Dinámicas" o "Métodos Dinámicos" y la razón es simple, Java tiene la
sobrecarga y
sobreescritura de métodos. A continuación, explico en que consiste cada uno.
La
sobrecarga, consiste en declarar un mismo método N cantidad de veces pero con la firma del mismo diferente; es decir, declarar un método con diferentes argumentos. Ejemplo:
Como puedes observar, tengo el mismo método pero con diferentes argumentos... En este momento posiblemente te preguntes... ¿Como se que método llamar?... La respuesta esta en el tipo de dato que tu vas a pasar; es decir, si pasas valores del tipo
int, si pasas valores del tipo
double o sino pasas valores; es decir,
sin parámetros. Ejemplo...
La
sobreescritura, es cuando una clase hija puede re-definir o como su nombre lo indica re-escribir los métodos de la clase padre. Ejemplo:
Gracias a esto, nosotros podemos manipular el cuerpo del método y adecuarlo a nuestras necesidades.
Si tu entiendes perfectamente estas definiciones, te darás cuenta que eso de crear "Clases Dinámicas" o "Métodos Dinámicos" puede que sea funcional pero rompe con todo el esquema o paradigma de programación que te ofrece Java, después de todo recordemos que Java es orientado a objetos.
Sin más que comentar, quedo al pendiente de cualquier duda y/o comentario.
Saludos!