Допустим, у меня есть класс с именем TestClass, который реализует интерфейс с именем TestInterface. В чем разница в создании следующих объектов:
TestInterface test1 = new TestClass();
TestClass test2 = new TestClass();
Если нет различий, какое соглашение лучше?