Joshua Bloch

Effective Java TM

Beri tahu saya ketika buku ditambahkan
Untuk membaca buku ini unggah file EPUB atau FB2 ke Bookmate. Bagaimana cara mengunggah buku?
  • Oksana Skorniakovamembuat kutipan6 tahun yang lalu
    или что один интерфейс является
    расширением другого (extend) для описания' уровня доступа
  • Oksana Skorniakovamembuat kutipan6 tahun yang lalu
    Существует, однако, простая идиома, гарантирующая отсутствие
    экземпляров. Конструктор по умолчанию создается только тогда, когда у класса нет явных
    конструкторов, и потому запретить создание экземпляров можно, поместив в класс единственный
    явный закрытый конструктор
  • Oksana Skorniakovamembuat kutipan6 tahun yang lalu
    Таким образом, если вы абсолютно уверены, что данный класс навсегда останется синглтоном,
    имеет смысл использовать первый вариант. Если же вы хотите отложить решение по этому вопросу,
  • Oksana Skorniakovamembuat kutipan6 tahun yang lalu
    Статический метод генерации для
    синглтона возвращает единственный экземпляр этого класса, однако это можно легко изменить и
    возвращать, скажем, свой уникальный экземпляр для каждого, потока, обращающегося к этому методу.
  • Oksana Skorniakovamembuat kutipan6 tahun yang lalu
    В случае с синглтоном этот метод возвращает единственный экземпляр данного класса.
  • Oksana Skorniakovamembuat kutipan6 tahun yang lalu
    Эти соглашения продолжают
    совершенствоваться, но два названия статических методов генерации стали уже общепринятыми:
    • valueOf' - возвращает экземпляр, который имеет то же значение,
    что и его параметры. Статические методы генерации с таким названием фактически
    являются операторами преобразования типов.
    • getlnstance - возвращает экземпляр, который описан параметрами, однако говорить о том,
    что он будет иметь то же значение, нельзя.
  • Oksana Skorniakovamembuat kutipan6 tahun yang lalu
    Второй недостаток статических методов генерации состоит в том, что их трудно отличить от
    других статических методов. В документации АРI они не выделяются так, как это делается для
    конструкторов.
  • Oksana Skorniakovamembuat kutipan6 tahun yang lalu
    Например, в архитектуре Col ections Framework невозможно создать подкласс ни для одного
    из классов реализации. Сомнительно, что в такой маскировке может быть благо, поскольку поощряет
    программистов использовать не наследование, а композицию (статья 14).
  • Oksana Skorniakovamembuat kutipan6 tahun yang lalu
    Основной недостаток статических методов генерации заключается в том, что классы, не
    имеющие открытых или защищенных конструкторов, не могут иметь подклассов. Это же касается
    классов, которые возвращаются открытыми статическими методами генерации, но сами открытыми не
    являются
  • Oksana Skorniakovamembuat kutipan6 tahun yang lalu
    На это есть две причины. Во-первых, это позволяет
    гарантировать, что некий класс является синглтоном (статья 2). Во-вторых, это дает возможность
    убедиться в том, что у неизменяемого класса не появилось двух одинаковых экземпляров: a.equals(b)
    тогда и только тогда, когда а==Ь. Если класс предоставляет' такую гарантию, его клиенты могут
    использовать оператор == вместо метода equals(Object), что приводит к существенному повышению
    производительности программы. Подобную оптимизацию реализует шаблон перечисления типов,
fb2epub
Seret dan letakkan file Anda (maksimal 5 sekaligus)