У меня есть этот класс:Есть ли способ предотвратить создание анонимных (внутренних) классов, но разрешить наследование класса?
public class MainClass {
...
}
Этот класс должен быть расширен другим классом, чтобы наследовать это attirubtes и методы. Так что это должно быть разрешено:
public class ChildrenClass extends MainClass {
...
}
Но я не хочу еще разработчикам создавать внутренние классы (анонимные классы) от моего MainClass, как это:
MainClass anonymousClassInstance = new MainClass(){...}
Есть ли способ сделать это в java?
Возможно, нет - можете ли вы дать больше информации о том, почему вы хотите предотвратить создание анонимного класса? – assylias
Зачем вам это нужно? С технической точки зрения (JVM) нет разницы между двумя классами (за исключением класса * names *) –
Создание метода 'final' в MainClass может предотвратить переопределение, если это то, чего вы пытаетесь избежать. –