ThreeTuple extends TwoTuple<A,B> { public C getC() { return c; } ThreeTuple(A a, B b,C c); C getC(); void setC(C c); @Override String toString();  }
@Test public void testGener() { ThreeTuple<Bus, Car, Street> threeTuple = new ThreeTuple<>(new Bus(), new Car(), new Street()); System.out.println("A:" + threeTuple.getA().getClass().getName() + " B:" + threeTuple.getB().getClass().getName() + " C:" + threeTuple.getC().getClass().getName()); }