fork(1) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
  8. private List<N> nodes;
  9. public Container() {
  10. this.nodes = new LinkedList<>();
  11. }
  12. }
  13.  
  14. class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
  15. private C owner;
  16. public Node(L owner){
  17. this.owner = owner;
  18. owner.nodes.add(this);
  19. }
  20. }
  21.  
  22. class ContainerA extends Container<ContainerA, NodeA>{
  23. public ContainerA(){
  24. super();
  25. }
  26. }
  27. class NodeA extends Node<ContainerA, NodeA>{
  28. public NodeA(ContainerA owner){
  29. super(owner);
  30. }
  31. }
  32.  
  33.  
  34. /* Name of the class has to be "Main" only if the class is public. */
  35. class Ideone
  36. {
  37. public static void main (String[] args) throws java.lang.Exception
  38. {
  39. ContainerA ca = new ContainerA();
  40. NodeA na = new NodeA(ca);
  41. }
  42. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:7: error: <identifier> expected
class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
     ^
Main.java:7: error: > expected
class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
                           ^
Main.java:7: error: ';' expected
class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
                                  ^
Main.java:7: error: illegal start of type
class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
                                                 ^
Main.java:7: error: '(' expected
class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
                                                   ^
Main.java:7: error: illegal start of type
class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
                                                     ^
Main.java:7: error: ';' expected
class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
                                                                 ^
Main.java:7: error: > expected
class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
                                                                     ^
Main.java:7: error: <identifier> expected
class abstract Container<C extends Container<C,N>, N extends Node<C,N>> {
                                                                       ^
Main.java:8: error: '(' expected
	private List<N> nodes;
	^
Main.java:9: error: invalid method declaration; return type required
	public Container() {
	       ^
Main.java:14: error: <identifier> expected
class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
     ^
Main.java:14: error: > expected
class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
                      ^
Main.java:14: error: ';' expected
class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
                             ^
Main.java:14: error: illegal start of type
class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
                                            ^
Main.java:14: error: '(' expected
class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
                                              ^
Main.java:14: error: illegal start of type
class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
                                                ^
Main.java:14: error: ';' expected
class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
                                                            ^
Main.java:14: error: > expected
class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
                                                                ^
Main.java:14: error: <identifier> expected
class abstract Node<C extends Container<C,N>, N extends Node<C,N>> {
                                                                  ^
Main.java:15: error: '(' expected
    private C owner;
    ^
Main.java:16: error: invalid method declaration; return type required
    public Node(L owner){
           ^
22 errors
stdout
Standard output is empty