РЕШЕНИЕ ЗАДАЧИ ЗАКЛЮЧИТЕЛЬНОГО КЛАССА:
Есть два способа сделать урок финальным. Первый - использовать ключевое слово final в объявлении класса:
public final class SomeClass {
// . . . Class contents
}
Второй способ сделать класс final - объявить все его конструкторы как частные:
public class SomeClass {
public final static SOME_INSTANCE = new SomeClass(5);
private SomeClass(final int value) {
}
Отметив его как финальный, вы избавитесь от проблем, если узнаете, что это действительно финал, чтобы продемонстрировать взгляд на этот тестовый класс. выглядит публично на первый взгляд.
public class Test{
private Test(Class beanClass, Class stopClass, int flags)
throws Exception{
// . . . snip . . .
}
}
К сожалению, поскольку единственный конструктор класса является закрытым, расширить этот класс невозможно. В случае с классом Test нет причин, по которым класс должен быть окончательным. Класс Test является хорошим примером того, как неявные конечные классы могут вызывать проблемы.
Поэтому вы должны пометить его как финальный, когда вы неявно делаете класс финальным, делая его конструктор закрытым.