Публикации по теме 'effective-java'
Хорошая практика в Java - заметки Джошуа Блоха из книги «Эффективная Java»
Передовая практика в Java — заметки о Effective Java Джошуа Блоха
Наследование :
наследование может быть опасным, особенно раскрытие деталей реализации суперкласса подклассу. Наследование означает, что во время жизни классов оно фиксирует реализацию, которая была предоставлена. В противном случае изменение реализации метода суперкласса может привести к сбою подкласса. Хорошей практикой является расширение абстрактного класса с помощью абстрактного метода, который будет..
Изучение эффективной Java - элемент 4
Это четвертый пункт из серии Эффективная Java . Всего 78 заданий ( Надеюсь изучать по одному заданию каждый день ). Это 4-й пост из серии, приятного чтения. Перейти в 3-й пост .
Создание и уничтожение объектов
Пункт 4
Обеспечьте отсутствие возможности создания экземпляров с помощью частного конструктора
Все мы сталкивались с ситуацией, когда дублирование кода начинается в классе. Постепенно это повторяется для различных связанных методов, и в итоге мы создаем служебный класс..
Рассмотрите конструктор, когда сталкиваетесь со многими конструкторами - Эффективные примечания по Java
Когда использовать? у нас есть много параметров в классе.
Некоторые другие методы (не очень хорошие варианты)
Способ 1: конструкторы телескопов .
Что: Напишите много конструкторов, и каждый из них содержит разное количество параметров.
Почему не хорошо: это не чистый код. Мы должны поддерживать много конструкторов.
Методы 2. Методы JavaBean.
Что: множество методов сеттеров.
Почему нехорошо: поскольку построение разбито на несколько вызовов, JavaBean может находиться в..
Вопросы по теме 'effective-java'
Действующий элемент Java 9, правильный ли пример CaseInsensitiveString?
Читаю второе издание книги, стр. 36. Не понимаю решения проблемы симметрии:
@override public boolean equals(Object o) {
return o instanceof CaseInsensitiveString &&
((CaseInsensitiveString) o).s.equalsIgnoreCase(s);
}
Если...
285 просмотров
schedule
25.01.2023
Сохранение класса значений не окончательным для возможного расширения в будущем
Я создаю очень простой класс под названием Catalog. Это будет неизменяемый класс с полем идентификатора и имени.
По привычке, так как я не собираюсь явно документировать эту штуку для расширяемости, я поставил модификатор final на класс. Однако...
100 просмотров
schedule
29.02.2024