Перейти к основному содержимому

· 4 мин. чтения

1. Обзор

Во многих случаях при реализации контракта мы хотим отложить некоторые части реализации, чтобы завершить их позже. Мы можем легко сделать это в Java с помощью абстрактных классов.

В этом уроке мы изучим основы абстрактных классов в Java и в каких случаях они могут быть полезны .

2. Ключевые концепции абстрактных классов

Прежде чем углубляться в то, когда использовать абстрактный класс, давайте рассмотрим их наиболее важные характеристики :

· 6 мин. чтения

1. Введение

В этом уроке мы рассмотрим анонимные классы в Java.

Мы опишем, как мы можем объявлять и создавать их экземпляры. Мы также кратко обсудим их свойства и ограничения.

2. Объявление анонимного класса

Анонимные классы — это внутренние классы без имени. Поскольку у них нет имени, мы не можем использовать их для создания экземпляров анонимных классов. В результате нам приходится объявлять и создавать экземпляры анонимных классов в одном выражении в момент использования.

· 5 мин. чтения

1. Обзор

В этом кратком руководстве мы рассмотрим два основных строительных блока языка программирования Java — классы и объекты. Это базовые концепции объектно-ориентированного программирования (ООП), которые мы используем для моделирования реальных объектов.

В ООП классы — это чертежи или шаблоны объектов. Мы используем их для описания типов сущностей.

С другой стороны, объекты — это живые сущности, созданные из классов. Они содержат определенные состояния в своих полях и представляют определенное поведение своими методами.

2. Классы

· 3 мин. чтения

1. Введение

Конструктор копирования в классе Java — это конструктор , который создает объект, используя другой объект того же класса Java .

Это полезно, когда мы хотим скопировать сложный объект с несколькими полями или когда мы хотим сделать глубокую копию существующего объекта.

2. Как создать конструктор копирования

Чтобы создать конструктор копирования, мы можем сначала объявить конструктор, который принимает объект того же типа в качестве параметра:

· 6 мин. чтения

1. Обзор

Хотя наследование позволяет нам повторно использовать существующий код, иногда по разным причинам нам необходимо установить ограничения на расширяемость ; ключевое слово final позволяет нам сделать именно это.

В этом руководстве мы рассмотрим, что означает ключевое слово final для классов, методов и переменных.

2. Заключительные занятия

Занятия, отмеченные как окончательные , не могут быть продлены. Если мы посмотрим на код базовых библиотек Java, то обнаружим там множество финальных классов. Одним из примеров является класс String .

· 5 мин. чтения

1. Обзор

Ранее мы обсуждали основы Java Generics . В этом уроке мы рассмотрим универсальные конструкторы в Java.

Универсальный конструктор — это конструктор, который имеет хотя бы один параметр универсального типа.

Мы увидим, что универсальные конструкторы не обязательно должны быть в универсальном классе, и не все конструкторы в универсальном классе должны быть универсальными.

2. Необщий класс

· 3 мин. чтения

1. Обзор

В этом руководстве мы узнаем, что делает объект неизменяемым, как добиться неизменности в Java и какие преимущества дает это.

2. Что такое неизменяемый объект?

Неизменяемый объект — это объект, внутреннее состояние которого остается постоянным после того, как он был полностью создан .

Это означает, что публичный API неизменяемого объекта гарантирует нам, что он будет вести себя одинаково в течение всей своей жизни.

· 5 мин. чтения

1. Обзор

Наследование и композиция — наряду с абстракцией, инкапсуляцией и полиморфизмом — являются краеугольными камнями объектно-ориентированного программирования (ООП).

В этом уроке мы рассмотрим основы наследования и композиции и сосредоточимся на выявлении различий между двумя типами отношений.

2. Основы наследования

Наследование — это мощный, но чрезмерно используемый и неправильно используемый механизм.

· 2 мин. чтения

1. Введение

В этом коротком руководстве мы рассмотрим внутренние интерфейсы в Java. В основном они используются для:

  • решение проблемы пространства имен, когда интерфейс имеет общее имя
  • увеличение инкапсуляции
  • повышение удобочитаемости за счет группировки связанных интерфейсов в одном месте

Хорошо известным примером является интерфейс Entry , объявленный внутри интерфейса Map . Определенный таким образом интерфейс не находится в глобальной области видимости, и на него ссылаются как на Map.Entry , что отличает его от других интерфейсов Entry и делает очевидным его отношение к Map .

2. Внутренние интерфейсы

· 5 мин. чтения

1. Введение

В этом кратком руководстве мы узнаем об интерфейсах маркеров в Java.

2. Маркерные интерфейсы

Маркерный интерфейс — это интерфейс , внутри которого нет методов или констант . Он предоставляет информацию о типах объектов во время выполнения, поэтому компилятор и JVM имеют дополнительную информацию об объекте .

Интерфейс маркера также называется интерфейсом тегирования.