fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. class Ideone
  6. {
  7. static class UserControl {
  8. public void foo() { System.out.println("UserControl"); }
  9. }
  10.  
  11. static class ExtraUserControl extends UserControl {
  12. @Override
  13. public void foo() { System.out.println("ExtraUserControl"); }
  14. }
  15.  
  16. private static Map<Class<? extends UserControl>, UserControl> viewsDictionary = new HashMap<>();
  17.  
  18. private static void register(Class<? extends UserControl> clazz) throws ReflectiveOperationException {
  19. viewsDictionary.put(clazz, clazz.newInstance());
  20. }
  21.  
  22. public static void main (String[] args) throws java.lang.Exception {
  23. register(UserControl.class);
  24. register(ExtraUserControl.class);
  25.  
  26. viewsDictionary.get(UserControl.class).foo();
  27. viewsDictionary.get(ExtraUserControl.class).foo();
  28. }
  29. }
Success #stdin #stdout 0.06s 380160KB
stdin
Standard input is empty
stdout
UserControl
ExtraUserControl