Class names, method names, and class level variable names are used by Java's reflection facilities. For instance, Java programmers will probably recognize
Class.forName( String className ) which is commonly used for loading jdbc drivers.
I don't know why they used strings for reflection, but that is why the metadata is kept there.