Let\'s say we have a class name Home. What is the difference between Home.this and Home.class? What do they refer to?
Home.class returns the instance of java.lang.Class that corresponds to the class Home. This object allows you to reflect over the class (find out which methods and variables it has, what its parent class is etc.) and to create instances of the class.
Home.this is only meaningful if you're inside a nested class of Home. Here Home.this will return the object of class Home that the object of the nested class is nested in.