大神们帮帮忙,这句代码看不懂,帮我解释一下,谢谢。

public boolean equals(Object p) {

return this.company.equals(((PhoneNum)p).getCompany());
}

this:当前类的对象
this.company:这个类的声明的那个company变量
this.company.equals(xxx):company 和xxx比较,是否一致,其中xxx在此处为 ((PhoneNum)p).getCompany());

(PhoneNum)p:将p对象的类型强转为PhoneNum(可能p中没有getCompany()方法)
((PhoneNum)p).getCompany()):强转之后,调用getCompany()方法,获取Company对象

完成两个Company之间的比较。

这个就是比较这个对象的company属性的值是不是相等,但是这个会有一个问题,就是没有判断p的类型就直接强转类型,可能会报错,建议参考一下string类里面的equals方法