JavaStart
910 subscribers
910 photos
28 videos
620 links
Учи Java вместе с нами!
Наша платформа с курсом - https://javastart.tech
Ютуб с обучающими видео - https://www.youtube.com/@javastart_tech
Download Telegram
Создание своих собственных исключений в Java.

Мы можем создать свои собственные исключения в среде Java, определив собственный класс исключений, как показано ниже:

class MyException extends Exception {

}

Нам лишь необходимо расширить предопределенный java класс Exception с целью создания собственного исключения. Данная категория относится к контролируемым исключениям.

Наш класс MyException исключительных ситуаций, определяемых пользователем, расширяет класс Exception, делая его контролируемым исключением. Класс исключений, подобно всем остальным классам, содержит используемые области и методы.
👍8🔥31👨‍💻1
Абстрактный класс в Java.

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

Абстрактные классы призваны предоставлять базовый функционал для классов–наследников. А производные классы уже реализуют этот функционал.

При определении абстрактных классов используется ключевое слово abstract.

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

Например, таким образом:

Human h = new Human();

Кроме обычных методов абстрактный класс может содержать абстрактные методы. Такие методы определяются с помощью ключевого слова abstract и не имеют никакой реализации:

public abstract void display();

Производный класс обязан переопределить и реализовать все абстрактные методы, которые имеются в базовом абстрактном классе. Также следует учитывать, что если класс имеет хотя бы один абстрактный метод, то данный класс должен быть определен как абстрактный.
👍8🔥3👨‍💻21
😁13💯5👍2👨‍💻2👏1
Зачем нужны абстрактные классы в Java?

Допустим, мы делаем программу для обслуживания банковских операций и определяем в ней три класса: Person, который описывает человека, Employee, который описывает банковского служащего, и класс Client, который представляет клиента банка.

Очевидно, что классы Employee и Client будут производными от класса Person, так как оба класса имеют некоторые общие поля и методы. И так как все объекты будут представлять либо сотрудника, либо клиента банка, то напрямую мы от класса Person создавать объекты не будем.

Поэтому имеет смысл сделать его абстрактным! Пример на картинках.
👍14🆒2111🔥1
Перечисления Enum в Java.

Кроме отдельных примитивных типов данных и классов в Java есть такой тип как enum или перечисление. Перечисления представляют набор логически связанных констант. Объявление перечисления происходит с помощью оператора enum, после которого идет название перечисления. Затем идет список элементов перечисления через запятую.

Перечисление фактически представляет новый тип, поэтому мы можем определить переменную данного типа и использовать ее:
👍15🔥3👨‍💻3👌1
Конструкторы, поля и методы Enum в Java.

Перечисления (enums), как и обычные классы, могут определять конструкторы, поля и методы.

На картинках перечисление Color определяет приватное поле code для хранения кода цвета, а с помощью метода getCode оно возвращается. Через конструктор передается для него значение.

Следует отметить, что конструктор по умолчанию приватный, то есть имеет модификатор private. Любой другой модификатор будет считаться ошибкой. Поэтому создать константы перечисления с помощью конструктора мы можем только внутри перечисления.

Также можно определять методы для отдельных констант (вторая картинка).
👍8🔥5411👌1
Внутренние и вложенные классы в Java.

Классы могут быть вложенными (nested), то есть могут быть определены внутри других классов.

Частным случаем вложенных классов являются внутренние классы (inner class). Например, имеется класс Person, внутри которого определен класс Account.

Внутренний класс ведет себя как обычный класс за тем исключением, что его объекты могут быть созданы только внутри внешнего класса.

Внутренний класс имеет доступ ко всем полям внешнего класса, в том числе закрытым с помощью модификатора private. Аналогично внешний класс имеет доступ ко всем членам внутреннего класса, в том числе к полям и методам с модификатором private.

Ссылку на объект внешнего класса из внутреннего класса можно получить с помощью выражения Внешний_класс.this, например, Person.this.

Объекты внутренних классов могут быть созданы только в том классе, в котором внутренние классы опеределены. В других внешних классах объекты внутреннего класса создать нельзя.

Пример на картинках.
👍12🔥3🆒311
Не нужно оставлять документацию без внимания 😉
😁11💯5🔥2👍1👏1
Еще одной особенностью внутренних классов является то, что их можно объявить внутри любого контекста, в том числе внутри метода и даже в цикле.

Строка 19 – объявление внутреннего класса Account внутри метода setAccount().
👍10🔥211
Нас 500! ❤️

500 начинающих (и не только 😎) Java–разработчиков! Спасибо, что вы с нами!

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

А мы с командой, в свою очередь, продолжим развивать канал и создавать авторский контент по нашей любимой Java и приносить пользу нашим начинающим разработчикам 👨‍💻

Обнял!
25👍6🔥4👨‍💻3🤗3❤‍🔥2😍1
Статические вложенные классы в Java.

Кроме внутренних классов также могут быть статические вложенные классы. Статические вложенные классы позволяют скрыть некоторую комплексную информацию внутри внешнего класса. Картинка 1.

Здесь определен вложенный класс для хранения данных о вычислении факториала. Основные действия выполняет метод getFactorial, который возвращает объект вложенного класса. И далее мы используем классы в методе main.
👍9🔥4👨‍💻21
Что такое Confluence?

Практически каждая команда, работающая над востребованным продуктом в сфере разработки ПО, использует Confluence для совместной деятельности.

Confluence — это совместное рабочее пространство для команд. Динамические страницы представляют собой площадку для творчества, сбора информации и совместной работы участников команды над любыми проектами и идеями.

Благодаря разделам в Confluence можно структурировать и организовывать работу в команде, а также предоставлять общий доступ к базе знаний организации и к информации, необходимой участникам для эффективной работы.

Confluence может работать в облаке или в собственной инфраструктуре компании.

Контент размещается на страницах — динамических документах, которые создаются на сайте Confluence. Страницы могут содержать любую информацию: от планов проектов до протоколов собраний, от руководств по поиску и устранению неисправностей до политик и многого другого.

Страницы хранятся в разделах — рабочих пространствах, предназначенных для совместной работы и упорядочения контента. Связанный контент лучше размещать в одном разделе, но можно создать столько разделов, сколько требуется команде. Например, одна маркетинговая команда может хранить всю работу в одном разделе, выделив на каждую маркетинговую кампанию по одной странице, тогда как другая может создать для каждой кампании отдельный раздел.

Систематизировать содержимое раздела помогает иерархическое дерево страниц. Благодаря этому найти нужную информацию можно быстрее и проще. Страницы можно упорядочивать любым способом, создавая вложенные страницы внутри связанных с ними разделов и страниц.
👍10🔥32🆒1
А вообще, если это константа, которая не будет изменяться, то в Java принято называть её FIRST_ELEMENT, то есть капсом, и помечать как final
😁163👍3💯1
Массивы в Java. Часть 1.

Что такое массив?

Массив — это структура данных, в которой хранятся элементы одного типа. Его можно представить, как набор пронумерованных ячеек, в каждую из которых можно поместить какие-то данные (один элемент данных в одну ячейку). Доступ к конкретной ячейке осуществляется через её номер. Номер элемента в массиве также называют индексом.

В случае с Java массив однороден, то есть во всех его ячейках будут храниться элементы одного типа. Так, массив целых чисел содержит только целые числа (например, типа int), массив строк — только строки, массив из элементов созданного нами класса Dog будет содержать только объекты Dog. То есть в Java мы не можем поместить в первую ячейку массива целое число, во вторую String, а в третью — “собаку”.
👍12🔥651
Массивы в Java. Часть 2.

Как объявить массив?

Как и любую переменную, массив в Java нужно объявить. Сделать это можно одним из двух способов.

Они равноправны, но первый из них лучше соответствует стилю Java. Второй же — наследие языка Си (многие Си-программисты переходили на Java, и для их удобства был оставлен и альтернативный способ). В таблице приведены оба способа объявления массива в Java.

В обоих случаях dataType — тип переменных в массиве. В примерах мы объявили два массива. В одном будут храниться целые числа типа int, в другом — объекты типа Dog.

Таким образом при объявлении массива у него появляется имя и тип (тип переменных массива). arrayName — это имя массива.
👍8🔥321🆒1