Let's say I have a class named TestClass that implements interface named TestInterface. What is the difference in creating following objects:
TestInterface test1 = new TestClass();
TestClass test2 = new TestClass();
If there is no differences, which one is the better convention?