Aşağıda belirli bir sınıftan türetilmiş sınıflar için çalışan generics sınıf örneği görülmektedir :
public class GenericTest<T extends GenericBaseTest> {
...
}
Yukarıdaki GenericTest sınıfı sadece GenericBaseTest sınıfından türetmiş sınıflar için çalışacaktır. GenericBaseTestExt sınıfı GenericBaseTest sınıfından türemişse aşağıdaki gibi bir kod yazılabilir :
GenericTest<GenericBaseTestExt> gt=new GenericTest<GenericBaseTestExt>();
GenericTest<? extends GenericBaseTest> gtGeneral=gt;
Yukarıdaki örnekde gtGeneral nesnesi GenericBaseTest sınıfından türüyen herhangi bir sınıfla çalışabileceği anlamına gelmektedir.
GenericBaseTestExt'in genişlettiği GenericBaseTestExt2 sınıfı için aşağıdaki gibi kullanılabilir :
GenericTest<GenericBaseTestExt> gt=new GenericTest<GenericBaseTestExt>();
GenericBox<? super GenericBaseTestExt2> gtSuper=gt;
? super GenericBaseTestExt2 ifadesi GenericBaseTestExt2'in genişlettiği sınıf anlamına gelmektedir