User.class
User.class will return the representation of the User
class as a Class
object.
The formal term for this expression is the class literal, as referenced in Section 15.8.2 of the Java Language Specification.
When you write .class after a class name, it references the Class object that represents the given class.
For example, if your class is Print (it is recommended that class name begin with an uppercase letter), 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());
Source : What does .class mean in Java?