Легкомысленный ответ: Почему некоторые языки программирования лучше в тексте/математике, чем другие?
Реальный ответ: потому что они должны быть. распределенные VCSs делают большую часть там слияния в точке, где ни один из авторов конфликтующего кода не может настроить слияние вручную, потому что слияние делается третьим лицом. В результате инструмент слияния имеет для разбираний в нем большую часть времени.
В контракте с SVN Вы делаете что-то броское (и неправильно?), если Вы когда-нибудь заканчиваете тем, что объединили что-то, где Вы не записали одну сторону или другой.
IIRC большая часть VCSs может выйти из оболочки слияние к тому, что Вы просите, чтобы они использовали, таким образом, нет (теоретически) ничего препятствующего тому, чтобы SVN использовал механизмы слияния МЕРЗАВЦА / подвижные механизмы слияния. YMMV
Это анонимный внутренний класс .
В приведенном выше примере вместо создания частного класса
, который расширяет Button
, мы создаем подкласс Button и обеспечить реализацию замещенного метода в соответствии с остальной частью кода.
Поскольку этот новый класс создается «на лету», у него нет имени, следовательно, анонимный . Как он определен внутри другого класса, это анонимный внутренний класс.
Это может быть очень удобный ярлык, особенно для классов Listener
, но он может затруднить отслеживание вашего кода, если вы увлекаетесь, и определения встроенных методов становятся слишком длинными.
Это анонимный внутренний класс . По сути, он создает новый класс, который является производным от указанного (в данном случае Button
, хотя вы можете использовать тот же метод для реализации интерфейсов) и переопределяет соответствующие методы.
Это анонимный внутренний класс.
Дополнительная информация: Анонимные классы