Модификатор доступа static в Java. Часть 9.
Какие причины использовать статические блоки?
1) Если для инициализации статических переменных требуется дополнительная логика, за исключением операции присваивания;
2) Если инициализация статических переменных подвержена ошибкам и требует обработки исключений.
Ключевые моменты.
1) У класса может быть несколько статических блоков;
2) Статические поля и статические блоки выполняются в том же порядке, в котором они присутствуют в классе;
3) Из статического блока нельзя получить доступ к не статическим членам класса;
4) Статический блок не может пробросить дальше перехваченные исключения, но может их выбросить. При этом всегда будет выкидываться только java.lang.ExceptionInInitializerError;
5) Статические поля или переменные инициализируются после загрузки класса в память в том же порядке, в каком они описаны в классе.
👉 JavaStart. Подписаться
Какие причины использовать статические блоки?
1) Если для инициализации статических переменных требуется дополнительная логика, за исключением операции присваивания;
2) Если инициализация статических переменных подвержена ошибкам и требует обработки исключений.
Ключевые моменты.
1) У класса может быть несколько статических блоков;
2) Статические поля и статические блоки выполняются в том же порядке, в котором они присутствуют в классе;
3) Из статического блока нельзя получить доступ к не статическим членам класса;
4) Статический блок не может пробросить дальше перехваченные исключения, но может их выбросить. При этом всегда будет выкидываться только java.lang.ExceptionInInitializerError;
5) Статические поля или переменные инициализируются после загрузки класса в память в том же порядке, в каком они описаны в классе.
👉 JavaStart. Подписаться
👍6✍2❤1👨💻1
Media is too big
VIEW IN TELEGRAM
Всем привет!
Спешим поделиться с вами отзывом от нашего студента.
Совсем недавно Максим закончил наш курс и главной задачей стал поиск работы. Все усложнялось языковым барьером, но наш ментор провел финальное собеседование на английском языке и, как отмечает Максим, это дало свои результаты.
В процессе собеседований также было и тестовое задание. Наш ментор сделал ревью проекта и предложил правки, и в итоге Максим получил оффер!
Небольшая поддержка в первые недели работы и сегодня Максим уже полностью самостоятельный разработчик :)
🌐 Ссылка на полный отзыв на Youtube
https://www.youtube.com/watch?v=_kTpV5U61is
👉 JavaStart. Подписаться
Спешим поделиться с вами отзывом от нашего студента.
Совсем недавно Максим закончил наш курс и главной задачей стал поиск работы. Все усложнялось языковым барьером, но наш ментор провел финальное собеседование на английском языке и, как отмечает Максим, это дало свои результаты.
В процессе собеседований также было и тестовое задание. Наш ментор сделал ревью проекта и предложил правки, и в итоге Максим получил оффер!
Небольшая поддержка в первые недели работы и сегодня Максим уже полностью самостоятельный разработчик :)
https://www.youtube.com/watch?v=_kTpV5U61is
👉 JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍2⚡1❤1👨💻1
Модификатор доступа static в Java. Часть 10.
Статический вложенный класс (nested class).
Язык программирования Java позволяет создавать классы внутри другого класса. Такой класс называется вложенным (nested).
Вложенный класс группирует элементы, которые будут использоваться в одном месте, сделав тем сам код более организованным и читабельным.
Вложенные классы бывают двух видов:
– вложенные классы, объявленные статическими, называются статическими вложенными классами (static nested classes);
– вложенные классы, объявленные без static, называются внутренними классами (inner classes)
Основное различие между этими понятиями состоит в том, что внутренние классы имеют доступ ко всем членам включающего их класса (включая приватные) верхнего уровня, тогда как статические вложенные классы имеют доступ только к статическим членам внешнего класса.
Примером статического класса (ВНИМАНИЕ) является уже известный нам Singleton паттерн (Картинка 2).
Наиболее широко используемый подход для создания объектов «одиночка» (singleton) — это статический вложенный класс, поскольку он не требует никакой синхронизации, его легко изучить и реализовать.
👉 JavaStart. Подписаться
Статический вложенный класс (nested class).
Язык программирования Java позволяет создавать классы внутри другого класса. Такой класс называется вложенным (nested).
Вложенный класс группирует элементы, которые будут использоваться в одном месте, сделав тем сам код более организованным и читабельным.
Вложенные классы бывают двух видов:
– вложенные классы, объявленные статическими, называются статическими вложенными классами (static nested classes);
– вложенные классы, объявленные без static, называются внутренними классами (inner classes)
Основное различие между этими понятиями состоит в том, что внутренние классы имеют доступ ко всем членам включающего их класса (включая приватные) верхнего уровня, тогда как статические вложенные классы имеют доступ только к статическим членам внешнего класса.
Примером статического класса (ВНИМАНИЕ) является уже известный нам Singleton паттерн (Картинка 2).
Наиболее широко используемый подход для создания объектов «одиночка» (singleton) — это статический вложенный класс, поскольку он не требует никакой синхронизации, его легко изучить и реализовать.
👉 JavaStart. Подписаться
👍4✍2🔥2❤1👨💻1
Java – один из самых популярных языков программирования, который открывает двери к разнообразным карьерным возможностям и позволяет создавать полезные приложения для различных платформ.
Сложно представить этот язык не в топе среди других языков коммерческой разработки.
Мы с командой делаем так, чтобы наши студенты претендовали на множество вакансий, а также приближаем их к созданию полезных и востребованных программных решений в мире коммерческой разработки.
Хотим подарить вам промокод START со скидкой 15%, который будет действовать неделю на нашей платформе JavaStart!
Напомним основные достоинства курса:
✅ Курс будет доступен онлайн на платформе пожизненно;
✅ Среднее прохождение курса составляет от 7–10 месяцев. Вы будете заниматься индивидуально и в своем темпе;
✅ Личный ментор;
✅ 3 тестовых собеседования;
✅ Три пет проекта для портфолио.
Для того, чтобы приступить к прохождению курса нужно зарегистрироваться на сайте и в личном кабинете выбрать способ оплаты. В течение дня мы с вами свяжемся и закрепим за вами ментора.
Вы сможете приступить к занятиям в любое время как будете готовы, с вами свяжется ваш ментор и вы начнете обсуждать план обучения.
Задавайте любые вопросы, на сайте есть ссылки на чат с поддержкой и номер телефона для связи – можно писать как в💬 Telegram, так и в 💬 WhatsApp.
👉 JavaStart. Подписаться
Сложно представить этот язык не в топе среди других языков коммерческой разработки.
Мы с командой делаем так, чтобы наши студенты претендовали на множество вакансий, а также приближаем их к созданию полезных и востребованных программных решений в мире коммерческой разработки.
Хотим подарить вам промокод START со скидкой 15%, который будет действовать неделю на нашей платформе JavaStart!
Напомним основные достоинства курса:
✅ Курс будет доступен онлайн на платформе пожизненно;
✅ Среднее прохождение курса составляет от 7–10 месяцев. Вы будете заниматься индивидуально и в своем темпе;
✅ Личный ментор;
✅ 3 тестовых собеседования;
✅ Три пет проекта для портфолио.
Для того, чтобы приступить к прохождению курса нужно зарегистрироваться на сайте и в личном кабинете выбрать способ оплаты. В течение дня мы с вами свяжемся и закрепим за вами ментора.
Вы сможете приступить к занятиям в любое время как будете готовы, с вами свяжется ваш ментор и вы начнете обсуждать план обучения.
Задавайте любые вопросы, на сайте есть ссылки на чат с поддержкой и номер телефона для связи – можно писать как в
👉 JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2❤1👏1👨💻1
Каким образом можно обращаться к статическими переменным класса?
Anonymous Quiz
10%
Через объект класса
11%
Через ссылку на объект
6%
Через ссылку на метод
70%
Через имя класса
2%
Посмотреть ответ
👨💻4👍2✍1🎉1
Модификатор доступа static в Java. Часть 11.
Причины использовать статический внутренний класс:
– Если какой-то класс используются только в одном другом классе, то их можно сгруппировать, поместив в один общий класс. Это усиливает инкапсуляцию;
– Если вложенный класс не требует какого-либо доступа к членам экземпляра его класса, то лучше объявить его как статический, потому, что таким образом он не будет связан с внешним классом и, следовательно, будет более оптимальным, поскольку ему не потребуется память в куче или в стеке.
👉 JavaStart. Подписаться
Причины использовать статический внутренний класс:
– Если какой-то класс используются только в одном другом классе, то их можно сгруппировать, поместив в один общий класс. Это усиливает инкапсуляцию;
– Если вложенный класс не требует какого-либо доступа к членам экземпляра его класса, то лучше объявить его как статический, потому, что таким образом он не будет связан с внешним классом и, следовательно, будет более оптимальным, поскольку ему не потребуется память в куче или в стеке.
👉 JavaStart. Подписаться
👍7❤1✍1👨💻1
Модификатор доступа static в Java. Часть 12.
Ключевые моменты использования статического внутреннего класса:
1) Статические вложенные классы не имеют доступа к какому-либо члену экземпляра внешнего класса — он может получить к ним доступ только через ссылку на объект;
2) Статические вложенные классы могут получить доступ ко всем статическим членам внешнего класса, включая приватные;
3) Спецификация Java не позволяет объявлять класс верхнего уровня статическим. Только классы внутри других классов могут быть статическими;
4) По сути статический вложенный класс ничем не отличается от любого другого внутреннего класса за исключением того, что его объект не содержит ссылку на создавший его объект внешнего класса;
5) Для использования статических методов/переменных/классов нам не нужно создавать объект данного класса;
Яркий пример вложенного статического класса — HashMap.Entry, который предоставляет структуру данных внутри HashMap.
Стоит заметить, также как и любой другой внутренний класс, вложенные классы находятся в отдельном файле .class. Таким образом, если вы объявили пять вложенных классов в вашем главном классе, у вас будет 6 файлов с расширением .class
👉 JavaStart. Подписаться
Ключевые моменты использования статического внутреннего класса:
1) Статические вложенные классы не имеют доступа к какому-либо члену экземпляра внешнего класса — он может получить к ним доступ только через ссылку на объект;
2) Статические вложенные классы могут получить доступ ко всем статическим членам внешнего класса, включая приватные;
3) Спецификация Java не позволяет объявлять класс верхнего уровня статическим. Только классы внутри других классов могут быть статическими;
4) По сути статический вложенный класс ничем не отличается от любого другого внутреннего класса за исключением того, что его объект не содержит ссылку на создавший его объект внешнего класса;
5) Для использования статических методов/переменных/классов нам не нужно создавать объект данного класса;
Яркий пример вложенного статического класса — HashMap.Entry, который предоставляет структуру данных внутри HashMap.
Стоит заметить, также как и любой другой внутренний класс, вложенные классы находятся в отдельном файле .class. Таким образом, если вы объявили пять вложенных классов в вашем главном классе, у вас будет 6 файлов с расширением .class
👉 JavaStart. Подписаться
👍6👨💻2✍1🤓1
Модификатор доступа static в Java. Часть 13.
Константы.
Говоря о ключевом слове static, нельзя не упомянуть о его применении в определении констант — переменных, которые никогда не изменяются.
В языке Java существует зарезервированное слово «const», но оно не используется, и Java не поддерживает константы на уровне языка. Выход из ситуации имеется: для определения константы необходимо добавить модификаторы «static final» к полю класса.
Константы — это статические неизменяемые поля, содержимое которых неизменно. Это может относиться к примитивам, String и другим классам оберткам, а также к неизменяемым коллекциям.
Если состояние объекта может измениться, он не является константой.
Модификатор static делает переменную доступной без создания экземпляра класса, а final делает ее неизменяемой.
При этом нужно помнить, что если мы сделаем переменную только static, то ее легко можно будет изменить, обратившись к ней через имя класса.
Если переменная будет иметь только модификатор final, то при создании каждого экземпляра класса она может быть проинициализирована своим значением.
Соответственно, используя совместно модификаторы static и final, переменная остается статической и может быть проинициализирована только один раз.
В Java константой считается не та переменная, которую нельзя изменить в рамках одного объекта, а та, которую не могут изменить ни один экземпляр класса в котором она находится (такая переменная создается и инициализируется один раз для всех экземпляров, сколько бы их не было).
👉 JavaStart. Подписаться
Константы.
Говоря о ключевом слове static, нельзя не упомянуть о его применении в определении констант — переменных, которые никогда не изменяются.
В языке Java существует зарезервированное слово «const», но оно не используется, и Java не поддерживает константы на уровне языка. Выход из ситуации имеется: для определения константы необходимо добавить модификаторы «static final» к полю класса.
Константы — это статические неизменяемые поля, содержимое которых неизменно. Это может относиться к примитивам, String и другим классам оберткам, а также к неизменяемым коллекциям.
Если состояние объекта может измениться, он не является константой.
Модификатор static делает переменную доступной без создания экземпляра класса, а final делает ее неизменяемой.
При этом нужно помнить, что если мы сделаем переменную только static, то ее легко можно будет изменить, обратившись к ней через имя класса.
Если переменная будет иметь только модификатор final, то при создании каждого экземпляра класса она может быть проинициализирована своим значением.
Соответственно, используя совместно модификаторы static и final, переменная остается статической и может быть проинициализирована только один раз.
В Java константой считается не та переменная, которую нельзя изменить в рамках одного объекта, а та, которую не могут изменить ни один экземпляр класса в котором она находится (такая переменная создается и инициализируется один раз для всех экземпляров, сколько бы их не было).
👉 JavaStart. Подписаться
👍6❤1✍1🔥1
Какой модификатор доступа используется для создания констант класса, доступных из других классов без создания экземпляра?
Anonymous Quiz
22%
public
7%
protected
3%
private
66%
static
2%
Посмотреть ответ
👍5🎉1
Модификатор доступа static в Java. Часть 14.
Причины использовать константы.
1) Константы улучшают читабельность программного кода;
Улучшают производительность приложения, поскольку они кешируются как JVM, так и самим приложением.
2) Используя константы вместо чисел, вы практикуете применение паттерна Magic Number.
Ключевые моменты.
1) При использовании констант необходимо соблюдать соглашения об именах. Константы именуются в стиле CONSTANT_CASE: все буквы в верхнем регистре, каждое слово отделено от следующего подчеркиванием;
2) Разместить константы можно в классе, который их будет использовать, в отдельных нескольких классах в соответствии с логикой использования констант, в одном большом отдельном глобальном классе и в интерфейсе;
3) Если константы относятся к перечисляемому типу (например дни недели, месяцы и т.д.), то для таких констант удобнее использовать enum.
👉 JavaStart. Подписаться
Причины использовать константы.
1) Константы улучшают читабельность программного кода;
Улучшают производительность приложения, поскольку они кешируются как JVM, так и самим приложением.
2) Используя константы вместо чисел, вы практикуете применение паттерна Magic Number.
Ключевые моменты.
1) При использовании констант необходимо соблюдать соглашения об именах. Константы именуются в стиле CONSTANT_CASE: все буквы в верхнем регистре, каждое слово отделено от следующего подчеркиванием;
2) Разместить константы можно в классе, который их будет использовать, в отдельных нескольких классах в соответствии с логикой использования констант, в одном большом отдельном глобальном классе и в интерфейсе;
3) Если константы относятся к перечисляемому типу (например дни недели, месяцы и т.д.), то для таких констант удобнее использовать enum.
👉 JavaStart. Подписаться
👍8✍2❤1👏1👨💻1
Что такое Java Virtual Machine (JVM)?
Anonymous Quiz
5%
Компилятор Java
3%
Интерпретатор Java
3%
Среда разработки Java
87%
Виртуальная машина, которая исполняет Java байт-код
2%
Посмотреть ответ
🤓5❤3👍2✍1
Что такое SCRUM?
SCRUM – это гибкая (Agile) методология организации совместного рабочего процесса, в основе которой – поэтапная разработка и совершенствование продукта небольшой командой специалистов различного профиля.
Одна из основных составляющих SCRUM это Sprint. Спринт – период, в течение которого команда создает и совершенствует отдельную часть продукта, чтобы быть готовым к изменениям и исключить глобальную доработку.
Каждый спринт начинается с планирования. Команда оценивает предстоящую работу, подбирает продолжительность цикла (около двух недель).
Задачи помещаются в Sprint Backlog.
Ежедневно вся команда собирается на 15 минут (daily stand up) для того, чтобы узнать, кто что делал вчера и чем занимается сейчас, а также что мешает выполнению задачи.
В конце цикла вся команда, включая владельца продукта и Scrum–мастера, собирается для демонстрации (demo) результатов работы.
На Sprint Retrospective команда обсуждает проблемы, с которыми столкнулась во время работы, а также пути их решения.
👉 JavaStart. Подписаться
SCRUM – это гибкая (Agile) методология организации совместного рабочего процесса, в основе которой – поэтапная разработка и совершенствование продукта небольшой командой специалистов различного профиля.
Одна из основных составляющих SCRUM это Sprint. Спринт – период, в течение которого команда создает и совершенствует отдельную часть продукта, чтобы быть готовым к изменениям и исключить глобальную доработку.
Каждый спринт начинается с планирования. Команда оценивает предстоящую работу, подбирает продолжительность цикла (около двух недель).
Задачи помещаются в Sprint Backlog.
Ежедневно вся команда собирается на 15 минут (daily stand up) для того, чтобы узнать, кто что делал вчера и чем занимается сейчас, а также что мешает выполнению задачи.
В конце цикла вся команда, включая владельца продукта и Scrum–мастера, собирается для демонстрации (demo) результатов работы.
На Sprint Retrospective команда обсуждает проблемы, с которыми столкнулась во время работы, а также пути их решения.
👉 JavaStart. Подписаться
👍9✍2❤2🔥2
Java является объектно–ориентированным языком программирования 👨💻
Объект в Java – это любая сущность, обладающая характерным поведением (имеет какие-то методы) и отличительными характеристиками (имеет какие-то поля – атрибуты).
Объектно–ориентированное программирование – парадигма программирования, в которой программа строится из взаимодействующих объектов 🤝
👉 JavaStart. Подписаться
Объект в Java – это любая сущность, обладающая характерным поведением (имеет какие-то методы) и отличительными характеристиками (имеет какие-то поля – атрибуты).
Объектно–ориентированное программирование – парадигма программирования, в которой программа строится из взаимодействующих объектов 🤝
👉 JavaStart. Подписаться
👍10✍1👨💻1
Основные принципы ООП в Java: наследование, инкапсуляция, полиморфизм, абстракция.
Суть наследования состоит в том, что один объект может наследовать свойства другого объекта, а также иметь свои собственные.
Полиморфизм заключается в том, что один и тот же метод может работать по-разному в зависимости от объекта, где он вызван, и данных, которые ему передали.
Инкапсуляция же подразумевает, что вся информация, которая нужна для работы конкретного объекта, должна храниться внутри этого объекта. Для внешних объектов доступны только публичные атрибуты и методы.
Не так давно начали выделять Абстракцию — это выделение общих характеристик объектов, их свойств и методов, при игнорировании деталей реализации.
👉 JavaStart. Подписаться
Суть наследования состоит в том, что один объект может наследовать свойства другого объекта, а также иметь свои собственные.
Полиморфизм заключается в том, что один и тот же метод может работать по-разному в зависимости от объекта, где он вызван, и данных, которые ему передали.
Инкапсуляция же подразумевает, что вся информация, которая нужна для работы конкретного объекта, должна храниться внутри этого объекта. Для внешних объектов доступны только публичные атрибуты и методы.
Не так давно начали выделять Абстракцию — это выделение общих характеристик объектов, их свойств и методов, при игнорировании деталей реализации.
👉 JavaStart. Подписаться
👍9✍1👨💻1