Недостатки:
➖В сложных иерархиях классов поля и методы обычно наследуются с разных уровней. И не всегда легко определить, какие поля и методы фактически относятся к данному классу.
➖Код для обработки сообщения иногда «размазан» по многим методам (иначе говоря, обработка сообщения требует не одного, а многих методов, которые могут быть описаны в разных классах).
➖Документирование классов - задача более трудная, чем это было в случае процедур и модулей. Поскольку любой метод может быть переопределен, в документации должно говориться не только о том, что делает данный метод, но и о том, в каком контексте он вызывается.
➖Неэффективность и неэкономное распределение памяти на этапе выполнения (по причине издержек на динамическое связывание и проверки типов на этапе выполнения).
➖Излишняя универсальность. Часто содержится больше методов, чем это реально необходимо текущей программе. А поскольку лишние методы не могут быть удалены, они становятся мертвым грузом.
➖В сложных иерархиях классов поля и методы обычно наследуются с разных уровней. И не всегда легко определить, какие поля и методы фактически относятся к данному классу.
➖Код для обработки сообщения иногда «размазан» по многим методам (иначе говоря, обработка сообщения требует не одного, а многих методов, которые могут быть описаны в разных классах).
➖Документирование классов - задача более трудная, чем это было в случае процедур и модулей. Поскольку любой метод может быть переопределен, в документации должно говориться не только о том, что делает данный метод, но и о том, в каком контексте он вызывается.
➖Неэффективность и неэкономное распределение памяти на этапе выполнения (по причине издержек на динамическое связывание и проверки типов на этапе выполнения).
➖Излишняя универсальность. Часто содержится больше методов, чем это реально необходимо текущей программе. А поскольку лишние методы не могут быть удалены, они становятся мертвым грузом.
Что выведет программа?
Anonymous Quiz
32%
120 200 16
20%
120 200 14
24%
120 200 016
25%
Compiler Error
016 - восьмеричное число. На это указывает префикс 0
public class Solution {
public static void main(String args) {
System.out.print("Скидка 50% на годовую подписку JavaRush");
}
}
public static void main(String args) {
System.out.print("Скидка 50% на годовую подписку JavaRush");
}
}
Beginning Programming with Java For Dummies (2017)
Автор: Barry Burd
Если вы хотите программировать на Java, книга научит вас созданию программ, способам решения стандартных задач и многому другому. Независимо от того, работаете ли вы с кем-то или начинаете карьеру, эта книга может стать ресурсом, к которому вы будете обращаться снова и снова, совершенствуя свое понимание нюансов этого популярного языка программирования.
Скачать книгу
Автор: Barry Burd
Если вы хотите программировать на Java, книга научит вас созданию программ, способам решения стандартных задач и многому другому. Независимо от того, работаете ли вы с кем-то или начинаете карьеру, эта книга может стать ресурсом, к которому вы будете обращаться снова и снова, совершенствуя свое понимание нюансов этого популярного языка программирования.
Скачать книгу
Telegram
Книги для программистов (reserved)
Beginning Programming with Java For Dummies (2017)
Автор: Barry Burd
Автор: Barry Burd
#вопросы_с_собеседований
1. Может ли статический метод быть переопределён или перегружен?
2. Могут ли нестатические методы перегрузить статические?
1. Может ли статический метод быть переопределён или перегружен?
2. Могут ли нестатические методы перегрузить статические?
1. Перегружен - да. Всё работает точно так же как и с обычными методами - 2 статических метода могут иметь одинаковое имя, если количество их параметров или типов различается.
Переопределён - нет. Выбор вызываемого статического метода происходит при раннем связывании (на этапе компиляции, а не выполнения) и выполняться всегда будет родительский метод, хотя синтаксически переопределение статического метода - вполне корректная языковая конструкция.
В целом, к статическим полям и методам рекомендуется обращаться через имя класса, а не объект.
Переопределён - нет. Выбор вызываемого статического метода происходит при раннем связывании (на этапе компиляции, а не выполнения) и выполняться всегда будет родительский метод, хотя синтаксически переопределение статического метода - вполне корректная языковая конструкция.
В целом, к статическим полям и методам рекомендуется обращаться через имя класса, а не объект.
2. Да. В итоге получатся два разных метода. Статический будет принадлежать классу и будет доступен через его имя, а нестатический будет принадлежать конкретному объекту и доступен через вызов метода этого объекта.
Java Performance Companion (2016)
В книге авторы показывают, как систематически и активно улучшать производительность Java с помощью современного многоядерного оборудования и сложных операционных сред. Все авторы, являющиеся ведущими экспертами по производительности Java и Java HotSpot VM, помогаут вам повысить эффективность проектов путем использования современных методов разработки программного обеспечения, избежать распространенных ошибок и применить советы и приемы, почерпнутые из многолетнего опыта работы.
Скачать книгу
В книге авторы показывают, как систематически и активно улучшать производительность Java с помощью современного многоядерного оборудования и сложных операционных сред. Все авторы, являющиеся ведущими экспертами по производительности Java и Java HotSpot VM, помогаут вам повысить эффективность проектов путем использования современных методов разработки программного обеспечения, избежать распространенных ошибок и применить советы и приемы, почерпнутые из многолетнего опыта работы.
Скачать книгу
Telegram
Книги для программистов (reserved)
Java Performance Companion (2016)
Авторы: Charlie Hunt, Monica Beckwith, Poonam Parhar, Bengt Rutisson
Авторы: Charlie Hunt, Monica Beckwith, Poonam Parhar, Bengt Rutisson
Большинство из нас уже дико устали от карантина: готовка как будто 24/7 или поглощение фаст-фуда, сложности с заказом продуктов (а выходить всё-таки не хочется!), риск закончить карантин с лишними кг на боках.
Трать время на то, в чём ты профессионал, а не на оладьи. А мы возьмём готовку на себя!
Почему тебе нужно попробовать justfood:
✅ 4 линейки питания. Два варианта для спортсменов, а также премиальная и вегетарианская линейки
✅ +500 блюд во всех линейках. Есть супы, салаты, курица и говядина, правильные десерты, фрукты и овощи
✅ У каждой линейки дневная калорийность от 1300 ккал до 2500 ккал. На каждый день 5-7 блюд
✅ Привозим по всей Москве и даже до Бетонки
✅ Антисептик в подарок. Безопасная доставка и абсолютное соблюдение мер предосторожности на производстве
Месяц питания от 21 384 ₽. Пробный день от 990 ₽!
По промокоду Bibliojava дополнительная скидка на заказ от 5 дней.
Заказывай по ссылке: https://bit.ly/2RjJgp8
Трать время на то, в чём ты профессионал, а не на оладьи. А мы возьмём готовку на себя!
Почему тебе нужно попробовать justfood:
✅ 4 линейки питания. Два варианта для спортсменов, а также премиальная и вегетарианская линейки
✅ +500 блюд во всех линейках. Есть супы, салаты, курица и говядина, правильные десерты, фрукты и овощи
✅ У каждой линейки дневная калорийность от 1300 ккал до 2500 ккал. На каждый день 5-7 блюд
✅ Привозим по всей Москве и даже до Бетонки
✅ Антисептик в подарок. Безопасная доставка и абсолютное соблюдение мер предосторожности на производстве
Месяц питания от 21 384 ₽. Пробный день от 990 ₽!
По промокоду Bibliojava дополнительная скидка на заказ от 5 дней.
Заказывай по ссылке: https://bit.ly/2RjJgp8
Мы можем использовать все предопределенные имена классов Java и интерфейсов в качестве идентификаторов.
#вопросы_с_собеседований
Какие существуют особенности использования вложенных классов: статических и внутренних? В чем заключается разница между ними?
Какие существуют особенности использования вложенных классов: статических и внутренних? В чем заключается разница между ними?
✔️Вложенные классы могут обращаться ко всем членам обрамляющего класса, в том числе и приватным.
✔️Для создания объекта статического вложенного класса объект внешнего класса не требуется.
✔️Из объекта статического вложенного класса нельзя обращаться к не статическим членам обрамляющего класса напрямую, а только через ссылку на экземпляр внешнего класса.
✔️Обычные вложенные классы не могут содержать статических методов, блоков инициализации и классов. Статические вложенные классы - могут.
✔️В объекте обычного вложенного класса хранится ссылка на объект внешнего класса. Внутри статического такой ссылки нет. Доступ к экземпляру обрамляющего класса осуществляется через указание .this после его имени. Например: Outer.this.
✔️Для создания объекта статического вложенного класса объект внешнего класса не требуется.
✔️Из объекта статического вложенного класса нельзя обращаться к не статическим членам обрамляющего класса напрямую, а только через ссылку на экземпляр внешнего класса.
✔️Обычные вложенные классы не могут содержать статических методов, блоков инициализации и классов. Статические вложенные классы - могут.
✔️В объекте обычного вложенного класса хранится ссылка на объект внешнего класса. Внутри статического такой ссылки нет. Доступ к экземпляру обрамляющего класса осуществляется через указание .this после его имени. Например: Outer.this.
Kotlin Cookbook: A Problem-Focused Approach (2019)
Используйте Kotlin для создания Android-приложений, веб-приложений и многого другого, изучая нюансы этого популярного языка. С помощью этой уникальной книги разработчики могут узнать, как применять этот язык в своих проектах. Как опытные программисты, так и новички в Kotlin получат пользу от практических рецептов из книги.
Скачать книгу
Используйте Kotlin для создания Android-приложений, веб-приложений и многого другого, изучая нюансы этого популярного языка. С помощью этой уникальной книги разработчики могут узнать, как применять этот язык в своих проектах. Как опытные программисты, так и новички в Kotlin получат пользу от практических рецептов из книги.
Скачать книгу
Telegram
Книги для программистов (reserved)
Kotlin Cookbook: A Problem-Focused Approach (2019)
Автор: Ken Kousen
Автор: Ken Kousen
Часть собеседования на позицию Junior Java разработчика. Тема - Collection API.
https://proglib.io/w/90539455
https://proglib.io/w/90539455
YouTube
Java Junior реальное собеседование | Collection API | Часть 3
В этом видео я покажу вам фрагмент из реального собеседования на позицию Java Junior Developer. В этой части мы покроем одну из самых наиболее популярных тем на собеседовании - Сollection API.
Друзья, задавайте в комментариях свои вопросы, обязательно всем…
Друзья, задавайте в комментариях свои вопросы, обязательно всем…