PARA ABORDAR EL PROBLEMA DE CLASE FINAL:
Hay dos formas de hacer una clase final. El primero es usar la palabra clave final en la declaración de clase:
public final class SomeClass {
// . . . Class contents
}
La segunda forma de hacer que una clase sea final es declarar a todos sus constructores como privados:
public class SomeClass {
public final static SOME_INSTANCE = new SomeClass(5);
private SomeClass(final int value) {
}
Marcarlo como final te ahorra el problema si descubres que es una final real, para demostrar que miras esta clase de Prueba. parece público a primera vista.
public class Test{
private Test(Class beanClass, Class stopClass, int flags)
throws Exception{
// . . . snip . . .
}
}
Desafortunadamente, dado que el único constructor de la clase es privado, es imposible extender esta clase. En el caso de la clase Test, no hay razón para que la clase sea final. La clase Test es un buen ejemplo de cómo las clases finales implícitas pueden causar problemas.
Por lo tanto, debe marcarlo como final cuando implícitamente realice una clase final haciendo que su constructor sea privado.