抽象驴
2019-01-12 16:54
package TelP;
public class TelPhone {
//手机001
public class Telp1{
public int[] withH1= {600,800};
public float cpu1=1.4f;
public float ram1=2.0f;
}
//手机002
public class Telp2{
public int[] withH2= {600,800};
public float cpu2=1.4f;
public float ram2=2.0f;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
TelPhone te = new TelPhone();
Telp1 te1=te.new Telp1();
Telp2 te2=te.new Telp2();
if(te1.equals(te2))
System.out.println("手机配置相同");
else
System.out.println("手机配置不同");
}
}
你需要重写内部类的equals方法,不然比较的只是两个对象的引用地址(这是new的两个对象, 引用地址都是独自开辟的, 引用地址必然不同)。而你要比较的是两个对象的实体数据是否一致, 所以必须重写equals方法。
telp2 不是应该创建为telp1的子类吗? 然后在在子类里用equals方法比较。最后在man方法 用telp2再创建不同的对象进行比较?
Java入门第二季
531289 学习 · 6327 问题
相似问题