import classes.*; public class Main { public static void main(String[] args) { Mygeneric mygen = new Mygeneric<String>("Dodi"); generate(mygen); Mygeneric<Object> gen = new Mygeneric<Object>("Jamal"); process(gen); } public static void doodle(Mygeneric<String> mygen) { System.out.println(mygen.getData()); } /* * Saya akan menerima parameter apapun hasil instance dari * kelas Mygeneric yang tipe genericnya adalah turunan dari Object */ public static void generate(Mygeneric<? extends Object> data) { System.out.println(data.getData()); } /* * Saya akan menerima parameter apapun hasil instance dari * kelas Mygeneric yang bertipe data String ATAU super class dari * String */ public static void process(Mygeneric<? super String> data) { String value = (String) data.getData(); System.out.println(value); data.setData("Umar"); System.out.println(value); } }