fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. interface Named {}
  11. interface Tree {}
  12. static class Impl implements Named, Tree {}
  13. static <T extends Tree & Named> T getNamedTree(Class<T> c) throws Exception {
  14. return c.newInstance();
  15. }
  16.  
  17.  
  18. public static void main (String[] args) throws java.lang.Exception
  19. {
  20. Object namedTree = getNamedTree(Impl.class);
  21. Tree asTree = (Tree)namedTree;
  22. Named asNamed = (Named)namedTree;
  23. }
  24. }
Success #stdin #stdout 0.05s 4386816KB
stdin
Standard input is empty
stdout
Standard output is empty