日期:2014-05-20  浏览次数:20765 次

又一次面试题,真心求解
interface A{}
class B{}
class B1 extends B {
public static void main(String[] args) {
  A a = new A();
B b = new B();
Object o = new Object();
B1 b1 = new B1();
}
}

选择题
A: o=b B:o=a C:b=b1 d:a=b

接口是不能创建实例的,我知道,我回来打印 b=b1,结果是B1@de6ced为什么?面试官还跟我说他的题你好难在网上找到的.......

------解决方案--------------------
Java code
interface A1 {
}

class B {
}

class B1 extends B {
    public static void main(String[] args) {
        A1 a = new A1() {
        };
        B b = new B1();
        Object o = new Object();
        B1 b1 = new B1();
        //我还以为是算相等,结果全false
        System.out.println(o.equals(b)  + "" + o.equals(b1)  + "" + o.equals(a)   + "" + b1.equals(b) 
                  + "" + b.equals(a) );
        //最后一个红波浪,答案abc。 试一下不就知道了。朋友
        o=b; o=a; b=b1; a=b;
    }
}