Литералы объектов Class
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” версию, т.к. она лучше согласуется с регулярными классами.