Java предоставляет еще один путь для получения ссылки на объект Class, с помощью литералов объекта class. В приведенной выше программе это могло бы выглядеть так:
Gum.class;
это не только проще, но еще и безопасней т.к. это выражение проверяется во время компиляции. Этот способ не использует вызова метода, а также, является более действенным.
Литералы объектов Class работают с регулярными классами, а также с интерфейсами, массивами и примитивными типами. В дополнение, существует стандартное поле называемое TYPE, которое существует для каждого примитивного класса-оболочки. Поле TYPE создает ссылку на объект Class для соответствующего примитивного класса, следующим образом:
|
... эквивалентно ... | ||
| boolean.class | Boolean.TYPE | |
| char.class | Character.TYPE | |
| byte.class | Byte.TYPE | |
| short.class | Short.TYPE | |
| int.class | Integer.TYPE | |
| long.class | Long.TYPE | |
| float.class | Float.TYPE | |
| double.class | Double.TYPE | |
| void.class | Void.TYPE | |
Я предпочитаю использовать “.class” версию, т.к. она лучше согласуется с регулярными классами.