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. static int a = 10;
  10.  
  11. private int b = 5;
  12. public void setB(int newB) { this.b = newB; }
  13. public int getB() { return this.b; }
  14.  
  15. public static void main (String[] args) throws java.lang.Exception {
  16. Ideone instance1 = new Ideone();
  17. Ideone instance2 = new Ideone();
  18.  
  19. System.out.println("Original A");
  20. System.out.println(instance1.a); // 10
  21. System.out.println(instance2.a); // 10
  22. System.out.println(Ideone.a); // 10
  23.  
  24. // Modifying `a` modifies _ALL_ instances of Ideone as well
  25. Ideone.a = 11;
  26.  
  27. System.out.println("Modified A");
  28. System.out.println(instance1.a); // 11
  29. System.out.println(instance2.a); // 11
  30. System.out.println(Ideone.a); // 11
  31.  
  32. System.out.println("Original B");
  33. System.out.println(instance1.getB());
  34. System.out.println(instance2.getB());
  35.  
  36. // This isn't valid since B is a class instance variable!
  37. //System.out.println(Ideone.getB());
  38.  
  39. // Modifying B here only modifies instance1's b
  40. instance1.setB(3);
  41.  
  42. System.out.println("Modified B");
  43. System.out.println(instance1.getB());
  44. System.out.println(instance2.getB());
  45. }
  46. }
Success #stdin #stdout 0.07s 380160KB
stdin
Standard input is empty
stdout
Original A
10
10
10
Modified A
11
11
11
Original B
5
5
Modified B
3
5