fork(2) 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. @SuppressWarnings("unchecked")
  11. public static class BaseBuilder<T extends BaseBuilder<T>> {
  12. public T foo() {
  13. return (T)this;
  14. }
  15. }
  16.  
  17. public static class DerivedBuilder extends BaseBuilder<DerivedBuilder> {
  18. public DerivedBuilder bar() {
  19. return this;
  20. }
  21. }
  22.  
  23. public static void main (String[] args) throws java.lang.Exception
  24. {
  25. new DerivedBuilder().foo().bar().foo().foo().bar();
  26. }
  27. }
Success #stdin #stdout 0.05s 320576KB
stdin
Standard input is empty
stdout
Standard output is empty