抽象驴
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入门第二季 升级版
530652 学习 · 6091 问题
相似问题