В JLS 15.8.2, это говоритКак понять литературу класса Java?
Класс буквальный представляет собой выражение, состоящее из имени класса, интерфейс, массив или примитивного типа, или псевдо-типа пустот, а затем и
.
токенclass
.
И в WIKI, он говорит
выражение в языке программирования представляет собой сочетание явных значений, констант, переменных, операторов и функций ...
И я не видел ни одного оператора, подобного ему, в here
Я знаю, что String.class
является примером Class<String>
, I просто не понимаю, почему на земле мы можем написать такое выражение.
И что же такое .class
действительно и как понимать это обозначение?
Для всех практических целей 'String.class' не является _an_ экземпляром' Class 'это экземпляр _the_. Если вы не делаете что-то очень сложное, все строки в вашей программе должны принадлежать одному классу (то есть к тому же самому классу «»). –
Существует много аннотаций (которые нуждаются в статической информации), которым нужна информация о классе, и вы можете дать ее так (пример TestNG): '@Test (expectedException = BlubException.class)'. И есть другие причины использовать 'XYZClass.class'. Вы можете получить хороший ответ с большим количеством примеров. – Tom
Я думаю, что каждый неверно интерпретирует вопрос. Насколько я понимаю, он спрашивает, почему это допустимая нотация, когда список операторов не включает '.'. –