package com.ray.testobject; public class Person { private String name; private int age; public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public static void main(String[] args) { Person bill = new Person("bill", 2); Person temp = bill; bill = new Person("jack", 3); System.out.println(bill.equals(temp)); } }
输出:false
通过上面的代码,可以看到,构造函数必须使用new,而且对于同一个对象,不能够再次使用new来改变里面的属性域。
package com.ray.testobject; public class Person { private String name; private int age; public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public static void main(String[] args) { Person bill = new Person("bill", 2); Person temp = bill; // bill = new Person("jack",4);注释这一句 // 使用里面的方法改变内容 bill.setAge(4); bill.setName("jack"); System.out.println(bill.equals(temp)); System.out.println(bill.getName()); } }
输出:
true
jack
我们再来看上面的代码,只是改动了两句,但是他指向的对象没有变化,只是通过里面的方法,把对象的属性域给改变了
版权声明:本文为博主原创文章,未经博主允许不得转载。