You can retrieve a
Class object in several ways:- Using getClass methodIf an instance of the class is available, you can invoke
Object.getClass. ThegetClassmethod is useful in situations when you want to examine an object, but you don't know its class. The following line of code gets theClassobject for an object namedmystery:
Class c = mystery.getClass();
- If you want to retrieve the
Classobject for the superclass that anotherClassobject reflects, invoke thegetSuperclassmethod. In the following example,getSuperclassreturns theClassobject associated with the theTextComponentclass, becauseTextComponentis the superclass ofTextField:
TextField t = new TextField(); Class c = t.getClass(); Class s = c.getSuperclass();
- Using .class if you know the name of the class at compile timeIf you know the name of the class at compile time, you can retrieve its
Classobject by appending.classto its name. In the next example, theClassobject that represents theButtonclass is retrieved:
i.e. Class c = ClassName.class;Class c = java.awt.Button.class;
- Using forName()
If the class name is unknown at compile time, but available at run time, you can use theforNamemethod. In the following example, if theStringnamedstrgis set to "java.awt.Button" thenforNamereturns theClassobject associated with theButtonclass:
It is possible that class we are fetching at runtime does not exist, so we have to catch ClassNotFoundException.Class c = Class.forName(strg);
No comments:
Post a Comment