День в истории Блогхауса: 23 мая 2018

Димена, блог «Сундук с барахлом»

Творчество

Принцесса, выращивающая мхи.

tumblr_p96d4283WH1rv17eso1_540

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

Джулиан, блог «Мышиные заметки»

Старая Калуга в рисунках моего папы

Shagel, блог «Sweet Sugar Bones»

* * *

Widowmaker1984, блог «Java для собеседований»

Вопросы 55, 62-68 (вложенные классы)

"Что такое статический класс, какие особенности его использования?"
"Какие типы классов бывают в java (вложенные… и.т.д.)"
"Что вы знаете о вложенных классах, зачем они используются? Классификация, варианты использования, о нарушении инкапсуляции."
"Каким образом из вложенного класса получить доступ к полю внешнего класса?"
"Какие особенности создания вложенных классов: простых и статических."
"В чем разница вложенных и внутренних классов?"
"Какие классы называются анонимными?"
"Каким образом можно обратиться к локальной переменной метода из анонимного класса, объявленного в теле этого метода? Есть ли какие-нибудь ограничения для такой переменной?"


1. Кроме "обычных" классов верхнего уровня (top level classes) в Java можно объявлять т.н. вложенные классы. Это классы, который объявлены внутри объявления другого класса.

1.1. Вложенные классы делятся на статические (static nested classes) и нестатические (non-static). Нестатические вложенные классы имеют другое название — внутренние классы (inner classes). Внешний класс (outer class) по отношению к ним можно назвать обрамляющим классом.

1.1.1. Итого, "внутренние" (inner) классы — это подмножество "вложенных" (nested), а именно не-статические "вложенные" классы. Тем не менее часто под "внутренними" классами подразумеваются все "вложенные".

скрытый текст1.2. Использование вложенных классов всегда приводит к некоторому нарушению инкапсуляции — вложенный класс может обращаться к закрытым членам внешнего класса (но не наоборот!). По сути внутренний класс всего лишь является специализированным членом внешнего класса.

2. Статические вложенные классы, не имеют доступа к нестатическим полям и методам обрамляющего класса, в чем аналогичны объявленным внутри класса статическим методам. Доступ к нестатическим полям и методам может осуществляться только через ссылку на экземпляр обрамляющего класса. Но static nested классы имеют доступ к любым статическим методам внешнего класса, в том числе и к приватным.

2.1. Польза данных классов заключается в основном в логической группировке сущностей и улучшении инкапсуляции. Другое интересное использование статических вложенных классов - тестирование приватных статических методов.

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

2.2.1. Поэтому объявление вида public interface ImNonStaticInterface будет интерпретироваться в виде public static interface ImNonStaticInterface. То есть неявно будет добавлен модификатор static.

2.3. Статический класс — это всегда вложенный класс. К классу высшего уровня модификатор static неприменим.

3. Нестатические вложенные классы называют также внутренними классами (inner). Внутренний класс имеет доступ ко всем переменным и методам своего внешнего класса и может непосредственно ссылаться на них. Он ассоциируется не с самим внешним классом, а с его экземпляром.

3.1. Объект внутреннего класса связан с внешним объектом-создателем и может обращаться к его членам без каких-либо дополнительных описаний. При совпадении имен во внутреннем и внешнем классе, доступ к полю или методу экземпляра обрамляющего класса можно получить через следующую конструкцию: [Имя обрамляющего класса].this.[Имя члена класса].

3.2. Внутренние классы в Java делятся на три вида:
- внутренние классы-члены (member inner classes);
- локальные классы (local classes);
- анонимные классы (anonymous classes).

4. Внутренний класс-член (member inner classes) может иметь любой модификатор доступа (private, package—private, protected, public).

4.1. При этом, вложенный внутренний класс не может содержать в себе статических методов или статических полей. Это связано с тем что, внутренний класс неявно связан с объектом своего внешнего класса, поэтому он не может объявлять никаких статических методов внутри себя. Кроме этого, внутри таких классов нельзя объявлять перечисления (enum).

5. Локальные классы (local classes) определяются в блоке кода. На практике чаще всего объявление происходит в методе некоторого другого класса. Хотя объявлять локальный класс можно и внутри статических или нестатических блоков инициализации.

5.1. Как и member классы, локальные классы ассоциируются с экземпляром обрамляющего класса и имеют доступ к его полям и методам. Кроме этого, локальный класс может обращаться к локальным переменным и параметрам метода, если они объявлены с модификатором final.

5.1.1 Основная причина, по которой необходимо объявлять локальную переменную как финальную заключается в том, что локальная переменная живёт в стеке до тех пор, пока метод находится в стеке. А в случае использования внутреннего класса возможна ситуация, когда экземпляр внутреннего класса живёт в куче и после выхода из метода, но ему может быть необходим доступ к переменной, объявленной в методе. Для этого, компилятор может сохранить копию локальной переменной, которая объявлена как финальная в поле внутреннего класса.

5.2. У локальных классов есть множество ограничений:
- они видны только в пределах блока, в котором объявлены;
- они не могут быть объявлены как private, public, protected или static;
- при этом могут быть помечены как abstract или final, но не оба одновременно;
- они не могут иметь внутри себя статических объявлений (полей, методов, классов); исключением являются константы (static final);

6. Анонимный класс (anonymous class) - это локальный класс без имени. Так как анонимный класс является локальным классом, он имеет все те же ограничения, что и локальный класс. Они могут быть созданы двумя путями:
- как наследник определённого класса;
- как реализация определённого интерфейса.

6.1. Основное ограничение при использовании анонимных классов — это невозможность описания конструктора, так как класс не имеет имени.

6.2. Любой анонимный внутренний класс может реализовать только один интерфейс. Так же, за один раз можно либо расширить класс, либо реализовать интерфейс, но не одновременно.

6.3. Использование анонимных классов оправдано во многих случаях, в частности когда:
- тело класса является очень коротким;
- нужен только один экземпляр класса;
- класс используется в месте его создания или сразу после него;
- имя класса не важно и не облегчает понимание кода.

Tigris Alba, блог «Tigris Fluvius»

* * *

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

Уже на рекламе дошло ─ я собиралась на второго «Дэдпула» в 1830, а успела на второго «Дэдпула» в 1800. Я даже не знала, что так можно, но метро решает (и переход улицы в неположенном месте ─ тоже, когда надо выгадать пару минут).

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

Правда, я каждый месяц думаю о чём-то в этом духе.

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

Очень прекрасно ужинать вишнёвым пирогом, и завтракать тоже.

 

Alex_Exile, блог «Just give me a reason...»

An Allegory of Fame and an Allegory of Virtue (detail) Sirani Elisabetta, 1638-1665.

Alex_Exile, блог «Just give me a reason...»

* * *

Kylo Ren, блог «Berth»

* * *

Анастасия Сергеевна, блог «DogReaction»

Альфа. (ОТРЕДАКТИРОВАННО)

Раз возникли вопросы, то попробую раскрыть этот момент более подробно.

Как я уже писала, Альфа имеет неубиваемую психику, но также есть и ряд нюансов.
Что этот такое и как с этим жить?

скрытый текст
Альфа - это всегда сильная личность, которую готовы слушаться все остальные, но при этом далеко не всегда это выражено активно и явно.
Есть несколько линий поведения (из практики, так как по-научному называется просто альфой и все):
1. Альфа + агрессия: с моей точки зрения, это самый сложный характер из всех, потому что приходится постоянно ровнять - во всяком случае до тех пор, пока не будет доказана ваша личная сила.
В условиях питомника тот самый щенок, который самый кусачий! (то есть с детства уже конфликтует).
Как это проявляется: постоянная борьба с противником, живая иллюстрация "жизнь - борьба" на практике.
Обычно, если играть со щенками, то у всех разная реакция на одни и те же действия - например, если прихватить рукой за морду и подержать - один щенок после этого обидится и уйдет, другой будет играться, третий будет нападать. и т.д.
При этом, у щенков - все есть игра, это нормально, но один играется и прикусывает слегка, а вот "альфа+агрессия" стремится кусать побольнее, бороться, нападать самостоятельно - и так на любое действие - раздраконить такого щенка можно молниеносно, а вот чтобы успокоить - нужно много усилий.
Очень важно учитывать этот механизм - любое ваше сопротивление действию щенка вызывает вот эту бурю эмоций, и желание конкурировать, конфликтовать и побеждать!
То есть, эта линия поведения предполагает постоянное оспаривание решений, событий и т.д. - и это самый явный пример выраженной альфы.

Как отличить такую яркую альфу от всех остальных типов поведения?
Очень просто - через основной механизм - сопротивление и борьба, борьба и сопротивление.
Практика и сравнение:
А1 - альфа + агрессия,
В - любой другой тип альфы/бэты,
О - условная омега, самый условно мягкий тип.

Схватить за мордочку и подержать:
О - разворачивается и уходит, потом может обходить стороной, проявлять недоверие.
В - начинает играть, приседать на лапки, бегать.
А1 - начинает яриться, включается в игру, но более жестко - кусается и нападает.

Развиваем события - например, пощипать с разных сторон, приставая на собачий лад.
О - может включиться, если игра идет мяяягонько, но лучше всего - много гладить, показать что угрозы нет, и потом мягко играться и чесать пузо, если упадет на спину.
В - включиться в игру, будет прыгать и бегать вокруг, с интересом реагируя на все что вы делаете.
А1 - еще больше разъярится, и будет уже нападать напрямую, без проволочек и больно кусаться.

О жизни с такой альфой-1: ну, не для слабонервных. В основном их выбирают мужчины, у которых аналогичная идеология, и которым хорошо в этом постоянном ритме постоянного доказывания силы, власти и т.д.
С другой стороны, при всем этом альфы и любят своего человека вполне соответствующим образом, особенно когда все ключи к характеру подобраны, и все пароли сохранены, но любит вас - не означает, что любит всех остальных, поэтому если вы не готовы постоянно одергивать/ровнять/доказывать свою правоту - лучше не стоит.
В условиях города: это те самые особи, хозяева которых ВСЕГДА выходят заниматься на площадку, а если вдруг буря/цунами/и другие виды апокалипсиса - имеют реальную проблему "как нам заниматься сегодня", и при должной сноровке - реальное решение.

2. Альфа+умеренность.
Более сбалансированный тип, в плане реакций внешнее/внутреннее.
Не стремится атаковать сразу, но если потребуется защищать своих - будет впереди планеты всей.
Конечно, конфликты не исключены, но зачастую есть некие определенные границы для собак - то есть, просто так в драку не полезет, так сказать, больше здравого смысла.

В практике и сравнении:
Любовь к исследованиям нового есть у всех детенышей всех мастей, но есть разница в восприятии.

А1 - при команде "нельзя" или после команды (через какое-то время) - все равно будет ломиться туда, где его что-то заинтересовало, "мне интересно - значит НАДО".
А2 - в той же ситуации скорее сначала подумает, затем послушается, демонстративно пойдет в другую сторону, но тщательно запомнит все факторы ситуации (потом сможет их использовать)
В - послушает, подумает и переключиться на что-то другое.
О - просто переключиться, +будет следовать за сильными мира сего.

3. Альфа+пассивное созерцание
"Спокоен как танк, но слушают его все" - коротко и емко об этом типе.

Есть один такой знакомый: молчит до упора.
Все члены его стаи (собак несколько) лают, сходят с ума - "враги пришли" и т.д. - а он молчит.
Молчит и молчит.
И вот только когда будет реальная опасность - он залает, и тогда уже все будут знать, что это - серьезно, собакам - в боевую готовность, людям - быть начеку.

А-3 - сложно определимый тип, но в основном определяется по ситуациям в стиле "никогда не атаковал, а тут рявкнул один раз, и потом к-а-а-а-ак...."
Из практики: у меня была такая собака - лучезарная и милая девочка-самоедка, со всеми всегда терпеливо общалась, дети-взрослые не суть важно, но когда мне на ее глазах угрожала реальная опасность - я не узнала голос своей собаки, и пока не повернулась к ней - думала, что чей-то чужой ротвейлер пришел меня защищать.
Вот где-то так это работает, такой себе ящик Пандоры.

Доступные и живые примеры: как определить альфу и что же дальше:

* 1) Главный признак - это упорство, несмотря ни на что.
"Здесь стреляют, но мы должны спасти этого человека"
"Была команда нельзя, но мне очень интересно, так что..."
"Этот пес в три раза больше меня, но я его все равно порву"

- то есть, у альфы практически нет страха. Психика - залитый бетон высшего качества, очень стрессоустойчивая - именно по таким примерам создавался образ немецких овчарок в СССР, плюс-минус разбавляя активной бэтой.
- если альфа чего-то не знает - она будет стремиться узнать это, и не суть важно, насколько это чревато - важно, что обломавшись раз, она через секунду пойдет туда же (А-1), или через какой-то период времени попробует снова сделать тоже самое или подойти с другого конца к ситуации (А-2), или будет размеренно изучать ситуацию каждый раз когда будет с ней сталкиваться в лоб - в смысле, что не будет искать преднамеренно (А-3): и все это ради того чтобы изучить/протестировать как это работает, "добиться результата", получить другую реакцию. И так во всем, представили?

* 2) признак - это "знак равенства/доказательство силы".
Если применить к алабаям и другим волкодавам, то половина конфликтов с людьми происходит именно здесь. Поэтому столько всего на тему уважения у разных сильных духом пород.
"Ты на двух ногах, но это не значит, что ты круче"
"Я тоже так могу, смотри!"

- альфе будет глубоко пофиг, что вы думаете, если нет взаимоуважения.
- внутренняя сила очень активно двигает интеллект - уровень хитрости и развитости просто зашкаливает (вспомните старый фильм К-9 - главный герой и Джери Ли постоянно спорили кто круче, и даже пытались делить женщину)

* 3) очень важный признак - "любой момент прекрасен для конфликта"
Здесь две ветки:
одна ветка - альфа с активным темпераментом, которая доказывает все и всегда.
вторая ветка - альфа с железно спокойным поведением (А-2, А-3), ничего не доказывает, но абсолютно все слушаются. (меньше уровень конфликтов, но не дай бог достать эту особь). Хотя по-хорошему можно разделить эту ветку на две - в случае с А-2 будет больше исследований "как это повернуть так, чтобы сработало", в случае с А-3 - будет больше дипломатичности и созерцания.
Это просто разный темперамент - то есть, не значит, что кто-то мягче, кто-то жестче, ниже-выше и т.д. Это просто разное проявление одного и того же, не более (в смысле, не обольщайтесь).

* 4) Прям как для юристов - "правообладание", то есть чувство собственности.
Примеры из фильма К-9 - самое оно, право обладать "лучшим".

Когда-то на эту тему сталкивалась с прекраснейшей ситуацией: обычная семья, у женщины любимец и друг - йоркширский терьер.
Этот терьер явно был альфой - и решил, что женщина только его (А-1, А-2)
Что имеем на выходе?
Семейный армагеддон - йорк не пускал мужчину на диван, не давал ее обнимать и т.д., потому что это "его женщина".
И самое главное, что это работало - то есть, вполне себе крупный мужчина не мог подойти к жене.
Уровень напряжения, мягко говоря, зашкаливал - а теперь попробуйте в уме умножить это на психику и габариты - волкодавы, служебники и т.д.

* 5) И наконец, последнее - "независимость"
"Я с тобой, мне хорошо с тобой, но я могу и без тебя"
"Я решил, что иду туда"
"Нет, сейчас я буду делать то что хочу"

Альфа никогда не станет танцевать вокруг хозяина и пресмыкаться. Заявить о своем желании и посмотреть на реакцию - да, а вот танцевать на задних лапках - никогда.
Любить хозяина тихо - это как раз сюда. То есть, и в огонь и воду, если потребуется, но все чувства выражаются сдержанно, особенно на людях - никто не должен видеть слабость, так сказать. Более открыто может выражать любовь в домашних условиях, но все такие штуки напрямую связаны с наличием контакта Человек-Собака: довольно частый случай - хозяин напортачил, пес закрылся и ушел в конфликты - и выйти из этого круга тот еще квест.

Важный нюанс: бывают сломанные альфы.
Это не есть норма, понятное дело, тем более что сломать альфу - это нужно что-то очень серьезное, но тем не менее такое случается - смерть хозяина, например, или предательство - тогда собака замыкается (в лучшем случае - так как в этом есть потенциал для восстановления при эмпатическом контакте), или начинает реагировать от обратного - всего боится, нервничает, и лежит пластом (и тогда все намного сложнее, и нужно много долгого и упорного труда, чтобы восстановить психику и привести в чувство)


ИТОГО.

Я написала самые главные показатели, которые формируют что-то вроде железной непробиваемой капсулы для собаки, все внутренние штуки - это уже по породе, по нюансам индивидуальным.
А-1/А-2: Очень надеюсь, что теперь можно реально представить, что такое невоспитанная альфа, и насколько им нужна дисциплина, уважение и бесстрастность хозяина. Люди, у которых такая собака - реально много с ними работают, потому как энергию необходимо реализовать в исключительно правильном ключе - любой перекос альфа может воспринять как норму, и потом просто взять на заметку.
В общем, не для слабаков=)
А-2: развитие у этого типа, в основном, упирается в исследование окружающего мира. Это применимо ко всем типам и породам, но здесь это просто необходимо - чем больше информации вы загрузите в восприятие этой альфы - тем больше вам вернется, тем лучше она себя будет чувствовать. Информация - это не только команды, это все и для всех сенсоров сразу - новые места, прогулки у больших ТЦ, новые ситуации, новые люди. То есть, если А-1 нужно постоянно адаптировать и интегрировать в социум со всеми новыми реакциями, то здесь нужно постоянно поощрять изучение и развитие интеллекта и EQ.
А-3: дипломатия и уважение - впереди планеты всей. Тоже хорошо идут исследования, но вот дипломатичные реакции - важнее. То есть, при уровне терпения этого типа важно проявлять уважение к особи, например с детьми: "спасибо, что ты так долго терпел моего ребенка, а теперь я его заберу, чтобы ты смог отдохнуть" - они это очень ценят и уважают.



Очень надеюсь на обратную связь и фидбэк))

Элха, блог «о тщете всего сущего»

* * *

Была у меня приправа в мельничке "к кофе и десертам". Очень приятная, я и в готовый кофе сыпала, и на мороженку... Приправа кончилась, Торманн нашёл наконец на развес кардамон, и я сегодня радостно сварила кофе со специями как в приправе, и он офигенен, в десять раз лучше, чем посыпанный из мельнички.

На турку 300 мл:

- Корица - примерно четверть палочки

- Одна гвоздичка

- Кардамон (это прям главный ингридиент!) совсем чуть-чуть, на кончике чайной ложки

- Ванильный сахар, четверть ложки (ну или на крайняк ванилин, но там совсем на кончике ножа)

 

Понятное дело, что изобретаю велосипед, но вдруг кто не знал.


Лучшее   Правила сайта   Вход   Регистрация   Восстановление пароля

Материалы сайта предназначены для лиц старше 16 лет (16+)