public class Test1{
public static void main(String[]args){
Person p1 = new Student("li", "software");
Student s1 = new Student("li", "software");
Student s2 = (Student)p1;
System.out.println(s1.equals(s2));
}
}
class Person{
private String name;
public Person(String name){
this.name=name;
}
public String getName(){
return this.name;
}
}
class Student extends Person{
private String major;
public Student(String name,String major){
super(name);
this.major=major;
}
public String getMajor(){
return this.major;
}
@Override
public boolean equals(Object obj){
if(this==obj) return true;
if(obj==null||this.getClass()!=obj.getClass()) return false;
Student stu = (Student)obj;
return stu.getMajor()==this.getMajor()&&stu.getName()==this.getName();
}
}
结果为true