fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. abstract class Chainable {
  6.  
  7. public Chainable andThen(Chainable after) {
  8. Chainable current = this;
  9. return new Chainable() {
  10. @Override
  11. public void apply() {
  12. current.apply();
  13. after.apply();
  14. }
  15. };
  16. }
  17.  
  18. public abstract void apply();
  19.  
  20. }
  21.  
  22. class Ideone {
  23. public static void main (String[] args) {
  24. Chainable chained = new Chainable() {
  25. @Override
  26. public void apply() {
  27. System.out.println("Learn Javasript");
  28. }
  29. };
  30. chained = chained.andThen(new Chainable() {
  31. @Override
  32. public void apply() {
  33. System.out.println("Learn Vue");
  34. }
  35. });
  36. chained = chained.andThen(new Chainable() {
  37. @Override
  38. public void apply() {
  39. System.out.println("Build something awesome");
  40. }
  41. });
  42. chained.apply();
  43. }
  44. }
  45.  
Success #stdin #stdout 0.05s 4386816KB
stdin
Standard input is empty
stdout
Learn Javasript
Learn Vue
Build something awesome