Java Object equals()方法测试题

在Java中,所有类的基类都是Object,作为JDK源码分析的第一课,今天给一道题来测试下大家对基础的掌握,让大家知道理解JDK源码的重要性。


class Person{
	private String name;
	private int age;
	
	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 class Equals {
	public static void main(String args[]){
		Person p1=new Person("aaa",27);
		Person p2=new Person("aaa",27);
		
		System.out.println("p1==p2 ==>"+ (p1 == p2 ? true: false));
		System.out.println("p1.eqauls(p2) ==>"+ (p1.equals(p2) ? true: false));
	}
}


上面的答案是什么呢? false, true,还是true,true,还是false,false呢?后面会解析这个程序的结果。可以说说你们的见解,请不要运行这个程序!

猜你喜欢

转载自gaofulai1988.iteye.com/blog/2252489