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. public static void main( String[] args ){
  11. Dog aDog = new Dog("Max");
  12. foo(aDog);
  13.  
  14. if (aDog.getName().equals("Max")) { //true
  15. System.out.println( "Java passes by value." );
  16.  
  17. } else if (aDog.getName().equals("Fifi")) {
  18. System.out.println( "Java passes by reference." );
  19. }
  20. }
  21.  
  22. public static void foo(Dog d) {
  23. /* d.getName().equals("Max"); // true
  24.  
  25.   d = new Dog("Fifi");
  26.   d.getName().equals("Fifi"); // true */
  27. d.setName("Fifi");
  28. }
  29. }
  30. class Dog{
  31. private String name;
  32.  
  33. public Dog(String name){
  34. this.name = name;
  35. }
  36.  
  37. public String getName(){
  38. return this.name;
  39. }
  40. public void setName(String name){
  41. this.name = name;
  42. }
  43. }
Success #stdin #stdout 0.09s 320576KB
stdin
Standard input is empty
stdout
Java passes by reference.