看不明白输出的 “People@1c20c684”是什么东西,是地址吗?


class People {
    public int age; 
   People(int age) {this.age = age;} 
   }
   public class TestPeople {
    static void change1(People p) { 
    System.out.println("(1)" + p + " age: " + p.age);
    People newP = new People(p.age);     //这里是改变地址吗?但是output里面的“People”又是什么???
    p = newP; 
    System.out.println("(2)" + p +" age: " + p.age);
    }
    static void change2(People p) { 
    System.out.println("(3)" + p + " age: " + p.age);
    p.age += 10; 
    System.out.println("(4)" + p + " age: " + p.age);
    }
    public static void main(String[] args) { 
    People p = new People(25); 
   change2(p);
   change1(p);
   } 
}

img

“People@1c20c684”是地址信息

img


如果没有重写toString方法,它就会调用Object的toString