The base concept behind this is Generics.
This is where the Type of object is provided to the class as a paramter, ie Testclass.
In this instance you are creating a generic "List" of the class Testclass.
The generic List class holds all the methods and properties that are required to contain a list of any object. You provide the type of object that the list will hold when you create the generic list.
So once you have instanciated your list you can then add objects to it, of the type you provided as a parameter, remove them, count them, etc.
Generics are a very powerful concept and you should do some reading on generics as well as the specific generic List(T) class.
All the best.
"They say, best men are molded out of faults,
And, for the most, become much more the better
For being a little bad."