What does .class mean in Java?

Quinn Wei picture Quinn Wei · Feb 26, 2013 · Viewed 107k times · Source

What does .class mean in Java? For example, if I created a class called Print. What does Print.class return?

Answer

Javier picture Javier · Feb 26, 2013

When you write .class after a class name, it references the class literal - java.lang.Class object that represents information about given class.

For example, if your class is Print, then Print.class is an object that represents the class Print on runtime. It is the same object that is returned by the getClass() method of any (direct) instance of Print.

Print myPrint = new Print();
System.out.println(Print.class.getName());
System.out.println(myPrint.getClass().getName());