fork download
  1. public class Main {
  2. static abstract class Context {
  3. abstract String hey();
  4. }
  5.  
  6. interface Listener {
  7. void sup(String s);
  8. }
  9.  
  10. static class MainActivity extends Context implements Listener {
  11. void hi() {
  12. method(this);
  13. }
  14.  
  15. <T extends Context & Listener> void method(T t) {
  16. t.sup(t.hey());
  17. }
  18.  
  19. @Override
  20. String hey() {
  21. return "hey.";
  22. }
  23.  
  24. @Override
  25. public void sup(String s) {
  26. System.out.println(s);
  27. }
  28. }
  29.  
  30.  
  31. public static void main(String[] args) {
  32. new MainActivity().hi();
  33. }
  34. }
Success #stdin #stdout 0.1s 320512KB
stdin
Standard input is empty
stdout
hey.