class Person009 {
private String name;
private int age;
public Person009(String name, int age) {
this.name = name;
this.age = age;
}
/**
* 之所以会出现你所遇到的哪些问题是因为:
* (1)在java中java.lang包是默认自动导入的。
* (2)当在导入的类中出现:不同包中存在同名的类时,应该加上完整包名,加以区分。
* (3)在你的代码中,定义了一个Object类,与java.lang包中的Object类重名。
* (4)但你定义的Object类是默认继承java.lang包中的Object类,即你定义的Object类并不是所有类的父类。
* (5)而你现在想使用的应该是java.lang包中的Object类,所以应该加上完整包名:java.lang.Object,如代码所示。
* (6)另外建议在今后的编程过程中,尽量避免这种情况。
* (7)至于下面的那段代码我想你已经能够独自解决了。
* */
public boolean equals(java.lang.Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof Person009)) {
return false;
}
// Object obj=(Object)obj;
Person009 per = (Person009) obj;
if (per.name.equals(this.name) && per.age == this.age) {
return true;
} else {
return false;
}
}
public String toString() {
return "XingMing " + this.name + "/tNianling: " + this.age;
}
}
class Object{
public static void main(String[] args) {
Person009 per1 = new Person009("Zhang3", 20);
Person009 per2 = new Person009("Zhang3", 20);
System.out.println(per1.equals(per2) ? "The same people"
: "Another people");
System.out.println(per1.equals("djlfj") ? "The same people"
: "Another people");
}
}
|