История изменений
Исправление neumond, (текущая версия) :
А покажете как напрямую вызвать Chain3 и Chain2? И какие заданные условия это нарушает.
UPD: увидел что конструкторы 2/3 приватные. Ну ок, можно. От этого тоже можно защититься разными способами, да хоть создавать анонимный класс прямо в методе func_1, ерунда.
Исходная версия neumond, :
А покажете как напрямую вызвать Chain3 и Chain2? И какие заданные условия это нарушает.