PARA ENCONTRAR O PROBLEMA DA CLASSE FINAL:
Existem duas maneiras de fazer uma aula final. O primeiro é usar a palavra-chave final na declaração de classe:
public final class SomeClass {
// . . . Class contents
}
A segunda maneira de finalizar uma classe é declarar todos os seus construtores como privados:
public class SomeClass {
public final static SOME_INSTANCE = new SomeClass(5);
private SomeClass(final int value) {
}
Marcá-lo como final evita o problema se descobrir que é realmente um final, para demonstrar o olhar para esta classe de teste. parece público à primeira vista.
public class Test{
private Test(Class beanClass, Class stopClass, int flags)
throws Exception{
// . . . snip . . .
}
}
Infelizmente, como o único construtor da classe é privado, é impossível estender essa classe. No caso da classe Teste, não há razão para que a classe seja final. A classe Test é um bom exemplo de como as classes finais implícitas podem causar problemas.
Portanto, você deve marcá-lo como final quando implicitamente tornar uma classe final, tornando seu construtor privado.