.class - что это за конструкция и как она работает? - PullRequest
0 голосов
/ 06 сентября 2018

Я новичок в программировании, и я только начал работать с greenfoot (программное обеспечение для создания игр с использованием Java).Когда я писал код, я должен был использовать конструкцию, встроенную в greenfoot, которая использовала параметр, описанный как: java.lang.class, где мне нужно было ввести ClassName.class.Я пытался просмотреть документацию и множество других источников, чтобы выяснить, как это работает и что это такое, но, честно говоря, я ничего не мог понять.Есть ли кто-то, кто может сказать мне просто словами, что это значит и как работает конструкция типа ClassName.class?Это первый раз, когда я вижу точечную нотацию, использованную таким образом, прежде чем я увидел только точечную нотацию, когда я пытался ссылаться, например, на другой метод класса, такой как: OtherClass.method ().Так это просто встроенная переменная экземпляра каждого класса или что-то вроде этого?Заранее спасибо

1 Ответ

0 голосов
/ 06 сентября 2018

Он называется литерал класса . ClassName.class предоставляет доступ к экземпляру Class, который представляет данный класс. Так, например, String.class относится к экземпляру Class для класса String. Используя этот объект, вы можете делать разные вещи (например, узнавать, каковы его члены во время выполнения с помощью отражения). (FWIW, объекты предоставляют также доступ к экземпляру Class для своего класса через их getClass метод .)

...