Изучая Java задался вопросом о private class

  1. Где и как могут использоваться классы c private модификатором?
  2. final class нельзя наследовать, и они используются довольно редко? (понятно что в некоторых ситуациях это может быть использовано, но не понятно в каких именно)
  3. private конструкторы в обычных классах - что это и зачем? как себя ведут те же конструкторы в private class?

Ответы (1 шт):

Автор решения: Aziz Umarov
  1. Private часто это иннер класс и ведёт он себя как приватное поле внешнего класса.
    public class Pub{
       ...
       private class Priv{...}
    }

Priv доступно лишь внутри Pub для его личных нужд.

  1. Сами объекты могут использоваться часто. Но с точки зрения эволюции final это тупиковая ветвь.

public final class String{ }

  1. private конструкторы это для сокрытия создание через оператор new. Или по другому создание через фабричный метод.

BigInteger big = BigInteger.valueOf(..);

→ Ссылка