Given a random class:
public class A { public T t; public A () {} // <-- why is this constructor necessary for B? public A (T t) {
If you don't make a call to a super constructor using super(i) as the first line of your constructor it will implicitly call the default super constructor
super(i)