Думаю, примерно по той же причине, почему нельзя использовать ключевые слова в качестве имён переменных, полей, методов и классов.
Это усложнит парсер языка, отличить имя класса от числа на уровне лексера уже будет невозможно и придётся учитывать контекст на уровне парсера. При этом никаких значимых преимуществ мы не получим.
Можно, конечно, было изобрести отдельный синтаксис для таких имён, как это сделали в Kotlin:
Какие-то все объяснения запутанные.
В конструкторе потомка мы не можем передать this в качестве параметра в конструктор предка, в этом вся причина.
Во-первых нам не даст это сделать javac, а если сгенерируем класс каким-то другим способом и всё же передадим this в качестве parent, нас зарубит верификатор т.к. пытаемся передать ссылку на неинициализированный экземпляр класса.
Если передать из потомка this в конструктор Main, инициализировать name в init() потомка и отключить верификатор, то всё получится.
Class and interface names that appear in class file structures are always represented in a fully qualified form known as binary names (JLS §13.1). Such names are always represented as CONSTANT_Utf8_info structures (§4.4.7) and thus may be drawn, where not further constrained, from the entire Unicode codespace.
Котик сидит и долго, жалобно мяукает в попытках провести удачный хендшейк. На плохих линиях иногда слышно мяукание соседских котят. Когда его пытаются взять на руки, начинает громко шипеть. Не испугавшиеся шипения получают хороший коннект на полтора-два десятилетия.
Таким образом, для любой реальной хеш-функции действительно стоит задача минимизации коллизий — их просто не может не быть, потому что мощность множества входных данных больше мощности множества выходных.
С чего бы это вдруг?
Идеальной хеш-функцией (англ. perfect hash function) называется такая функция, которая отображает каждый ключ из набора S во множество целых чисел без коллизий.
Тем временем товарищ майор просматривает статистику подконтрольных Read&Comment аккаунтов и удивляется сослагательному наклонению рядом со словом «добрались» в вашем комментарии.
Хотя первой победой, несомненно, следует считать момент, когда перестал существовать хаб «Юмор», недоступный незарегистрированным пользователям.
Возьмём изображения строчных букв u и v, с идущим по умолчанию в IDEA размером 13.
Совместим изображения букв по верхней и левой кромкам. Пиксели, занимаемые буквой u обозначим красным цветом, занимаемые буквой v — зелёным, а совпадающие в начертаниях обеих букв — серым. Для удобства увеличим изображение:
Вы по-прежнему считаете их форму «совершенно разной»?
Каким местом эта оффтопичная простыня соприкасается с тематикой Хабрахабра?
Вот вам ассемблер и дизассемблер: https://wiki.openjdk.java.net/display/CodeTools/asmtools
Так вот же оно: https://github.com/JetBrains/intellij-community/blob/master/plugins/java-decompiler/engine/testData/results/PrivateClasses.dec#L406-L473
КДПВ неправильная.
Вы иллюстрацию потеряли: Белки-истерички.жпг
Через 3 года мало кто вообще вспомнит о каком-то там COVID-19, будут новые страшные сказки.
Если верить скану 17-УМ, в Москве лимит в 5 000.
Этого не хватило бы для JPoint?
Это что-то навроде проверки, знает ли студент, на экзамен по какому предмету он пришёл?
Что, правда? А мужики-то не знают!
Это усложнит парсер языка, отличить имя класса от числа на уровне лексера уже будет невозможно и придётся учитывать контекст на уровне парсера. При этом никаких значимых преимуществ мы не получим.
Можно, конечно, было изобрести отдельный синтаксис для таких имён, как это сделали в Kotlin:
Но зачем нам в Java лишний синтаксический мусор?
Какие-то все объяснения запутанные.
В конструкторе потомка мы не можем передать
thisв качестве параметра в конструктор предка, в этом вся причина.Во-первых нам не даст это сделать
javac, а если сгенерируем класс каким-то другим способом и всё же передадимthisв качествеparent, нас зарубит верификатор т.к. пытаемся передать ссылку на неинициализированный экземпляр класса.Если передать из потомка
thisв конструкторMain, инициализироватьnameвinit()потомка и отключить верификатор, то всё получится.Ключевая фраза — «по правилам виртуальной машины Java»
JVMS §4.2.1:
Накодогенерировать можно класс с любым именем.
Вызов пары функций из WinAPI трудно назвать «усложнением».
Раздача по Dialup:
ATZ
OK
ATDP1234567
Котик сидит и долго, жалобно мяукает в попытках провести удачный хендшейк. На плохих линиях иногда слышно мяукание соседских котят. Когда его пытаются взять на руки, начинает громко шипеть. Не испугавшиеся шипения получают хороший коннект на полтора-два десятилетия.
С чего бы это вдруг?
Тем временем товарищ майор просматривает статистику подконтрольных Read&Comment аккаунтов и удивляется сослагательному наклонению рядом со словом «добрались» в вашем комментарии.
Хотя первой победой, несомненно, следует считать момент, когда перестал существовать хаб «Юмор», недоступный незарегистрированным пользователям.
Идея даёт возможность выразить признательность разработчикам идеи посредством багрепортов. Это, напротив, позитив.
Если такая потребность возникнет, то его всегда можно раскрутить.
Про проблемы системного куроводства в статье по ссылке тоже раздел есть.
Возьмём изображения строчных букв
uиv, с идущим по умолчанию в IDEA размером 13.Совместим изображения букв по верхней и левой кромкам. Пиксели, занимаемые буквой
uобозначим красным цветом, занимаемые буквойv— зелёным, а совпадающие в начертаниях обеих букв — серым. Для удобства увеличим изображение:Вы по-прежнему считаете их форму «совершенно разной»?