fork download
  1. class Ideone {
  2. public static void main(String[] args) throws java.lang.Exception {
  3. A<ConcreteErrorHandler> a = new A<ConcreteErrorHandler>(new ConcreteErrorHandler());
  4. a.m(); // Exception here!
  5. }
  6.  
  7. public static class AbstractErrorHandler {
  8. public void handle() {
  9. throw new UnsupportedOperationException("Not implemented");
  10. }
  11. }
  12.  
  13. public static class ConcreteErrorHandler extends AbstractErrorHandler {
  14. public void handle() {
  15. System.out.println("Concrete handler");
  16. }
  17. }
  18.  
  19. public static class A<T extends AbstractErrorHandler> {
  20.  
  21. T instance;
  22.  
  23. A(T instance) {
  24. this.instance = instance;
  25. }
  26.  
  27. public void m() {
  28. instance.handle();
  29. }
  30. }
  31. }
Success #stdin #stdout 0.1s 320320KB
stdin
Standard input is empty
stdout
Concrete handler