public interface X<T> {
public void setData(T data);
public T getData();
}
public class Y<T> implements X<T> {
public T data;
@Override
public void setData(T data) {
this.data = data;
}
public T getData() {
return this.data;
}
}
public class Done {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
X<String> x = new Y();
x.setData("hi");
out.println(x.getData());
}
}