The Fission Theory: This theory proposes that the Moon was once part of the Earth and somehow separated from the Earth early in the history of the solar system.
When you actually use that class to make a THING, this is what you make. A method is a bit of code that can be called when needed (often as part of an class, but not always) Here's an example: I write a class called Ball. In my main code, I then write a=Ball.new, b=Ball.new, c=Ball.new.
That would give you the Class object of the class representing the A.class object which is again an instance of java.lang.Class. They are actually different with regards to where you can use them. A.class works at compile time while a.getClass() requires an instance of type A and works at runtime. There may be a performance difference as well. While A.class can be resolved by the compiler because it knows the actual type of A, a.getClass() is a virtual method call happening at runtime. For reference, a compiler targeting bytecode typically emits the following instructions for Integer.getClass():