class Person {
String name;
String location;
Person(String name) {
this.name = name;
location = "beijing";
}
Person(String name,String location) {
this.name = name;
this.location = location;
}
public String info() {
return
"name:"+name+
"location:"+location;
}
public String toString() {
return "I'm a human!";
}
public boolean equals(Object obj) {
if(obj == null) return false;
else{
if(obj instanceof Person) {
Person p = (Person)obj;
if(p.name == this.name && p.location == this.location) {
return true;
}
}
}
return false;
}
}
class Student extends Person {
String school;
Student(String name,String school) {
this(name,school,"Xi'an");
}
Student(String n,String s,String l) {
super(n,l);
this.school = s;
}
public String info() {
return super.info()+"school:"+school;
}
public String toString {
return "I'm a studet.";
}
public boolean equals(Object obj) {
if(obj == null) return false;
else{
if(obj instanceof Student){
Student s = (Student)obj;
if(s.name == this.name&&s.location == this.location&&s.school == this.school) {
return true;
}
}
}
return false;
}
}
public class TestTSandEQ {
public static void main(String[] arg) {
Person p1 = new Person("A","beijing");
Person p2 = new Person("B","beijing");
Student s1 = new Student("A","XD","beijing");
Student s2 = new Student("B","XD");
System.out.println(p1.info());
System.out.println(p2.info());
System.out.println(s1.info());
System.out.println(s2.info());
System.out.println("p1:"+p1.toString());
System.out.println("s1:"+s1.toString());
}