fork download
  1. class Node2Main {
  2. public static void main(String[] args) {
  3. MyNode2 mn = new MyNode2(5);
  4. Node2 n = mn; // A raw type - compiler throws an unchecked warning
  5. n.setData("Hello");
  6. n.setData(1);
  7. Integer x = (Integer) mn.data; // Causes a ClassCastException to be thrown.
  8. }
  9. }
  10.  
  11. class Node2 {
  12.  
  13. public Object data;
  14.  
  15. public Node2(Object data) { this.data = data; }
  16.  
  17. public void setData(Object data) {
  18. System.out.println("Node2.setData");
  19. this.data = data;
  20. }
  21. }
  22.  
  23. class MyNode2 extends Node2 {
  24. public MyNode2(Integer data) { super(data); }
  25.  
  26. public void setData(Integer data) {
  27. System.out.println("MyNode2.setData");
  28. super.setData(data);
  29. }
  30. }
  31.  
Success #stdin #stdout 0.05s 4386816KB
stdin
Standard input is empty
stdout
Node2.setData
Node2.setData