Hi,
ya there are some differences.
like..
Class A {}
A obj1; //this is the object declaration without occupy any memory..
A obj2 = new A(); //this is the object instance with occupy memory for this..

also we can't create an instance for abstract class as well as for interface..