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);
}
}