What is the difference between:
// 1
class A<T>
class B<T> extends A
and
// 2
class A<T>
class B<T> extends A<T>
Is 1 related to the Raw Types like:
List list = new ArrayList<Integer>();
whereas 2 is a preferred form ?
What is the difference between:
// 1
class A<T>
class B<T> extends A
and
// 2
class A<T>
class B<T> extends A<T>
Is 1 related to the Raw Types like:
List list = new ArrayList<Integer>();
whereas 2 is a preferred form ?
 
    
    The first one extends the raw type. There is no way then in B to say what type T in class A should be. T in A and T in B are unrelated.
The second one extends A<T>. So T in A and T in B refer to the same type.
 
    
    
extends A`? Or `class B– Andy Turner May 30 '20 at 15:22extends A`? What do you think T would then be for A?