friends! I decided to read more about generics and I am stuck in wiki.
A class is generic if it declares one or more type variables. These type variables are known as the type parameters of the class. It defines one or more type variables that act as parameters. A generic class declaration defines a set of parameterized types, one for each possible invocation of the type parameter section. All of these parameterized types share the same class at runtime.
So, we have sentence
A generic class declaration defines a set of parameterized types, one for each possible invocation of the type parameter section.
How I understand it? When we make instance of our generic class with concrete type argument (creation of parameterized type I mean, Box<Integer> test = new Box<Integer>();), in this moment, this parameterized type make invocation of type parameter in itself class Box<T>{}.
Do I understand it right?