The first form is recommended for the public interface of a class (say, the declaration of the attributes in a class). It's a well-known advice that you should program for an interface, not for a concrete implementation (this is stated in Design Patterns) - the number of classes you have to import has little to do with the quality of code and good design.
The advantage of the first form is that it'll allow you to easily swap implementations later on, if the need arises - whereas the second implementation sets in stone the implementing class, making your code harder to evolve and less flexible.
There are cases when it's OK to declare and use concrete classes, though (for instance, for a little bump in performance). But the public interface of a class should use interfaces whenever possible, it'll make future changes easier to implement.