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. static class MyClass<M extends MyClass<M>> {
  11. int i = 0;
  12.  
  13. public M self() {
  14. return (M) this;
  15. }
  16.  
  17. public M increment() {
  18. i++;
  19. return self();
  20. }
  21. }
  22.  
  23. static class MySubClass extends MyClass<MySubClass> { }
  24.  
  25.  
  26. public static void main (String[] args) throws java.lang.Exception
  27. {
  28. MySubClass m = new MySubClass().increment();
  29. }
  30. }
Success #stdin #stdout 0.06s 32320KB
stdin
Standard input is empty
stdout
Standard output is empty