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为什么?面试官还跟我说他的题你好难在网上找到的.......

解决方案 »

  1.   

    你写错了!!A a = new A(); 这是错误的,因为A是一个接口应该是:
    A a = new A(){};这个说明一下:
    B1@de6ced,这是Object中的toString()方法,它返回的是“类名+@+hashCode()”拼接的字符串
      

  2.   

    题目有些要好细心才能做好,比如说选出关键字,故意把switch的s大写,数组题int a[]=new int[5],print(a[5]),我还以为没赋值出错,原来是数组越界...
    还问了一个..Vector增加组建的方法.我都没用过,还好给猜中了...
    大题写format实现,输入数组排序,sql查询对两个表进行三个操作。
    思考题下是把数据从数据库放入xml,再传输给别人怎么实现同步?还有几个加分的思维题:
    1.一条不均匀的线布,完全燃烧要1小时,现在有N条这样的线布,怎么烧才能刚好达到1小时15分?
    2.数字电子表 在镜面的像数字什么时候会重叠?有多少次,分别是多少?
    3.用什么方法破坏,正在打印机打印的数据?
    4.每个员工每天要结算工资,一共要做7天,每次工资是一块金,老板的金条每次只有两次切割机会去把一条金条分配给员工?
    5.你有一个5L的水桶,和一个3L的水桶,有取自不尽的谁,怎么得到4L的水?还有一些笔试题忘了,只记得深刻的
      

  3.   

    这题是要考哪个知识面?我只知道过"==",equals.这个真考起我了
      

  4.   

    这里写错了 B b = new B1(); 父类引用子类对象
      

  5.   

    interface A{}
    class B{}
    class B1 extends B {
    public static void main(String[] args) {
      A a = new A(){};
      B b = new B1();
      B1 b1 = new B1();
      Object o = new Object();
     }
    }
    选项:
    A: o=b B:o=a C:b=b1 d:a=b  就是这样,之前是我没记清楚
      

  6.   

    1.一条不均匀的线布,完全燃烧要1小时,现在有N条这样的线布,怎么烧才能刚好达到1小时15分?
      先将第一根线两头点着,30分钟后第一根线烧完,然后将第二根线的两头点着,同时将第三根线的一头点着,当第二根线烧完时,刚好过去一个小时,此时再将第三根线的另一头点着。当第三根线烧完时刚好过去1小时15分。  2.数字电子表 在镜面的像数字什么时候会重叠?有多少次,分别是多少?
    3.用什么方法破坏,正在打印机打印的数据?
      
    4.每个员工每天要结算工资,一共要做7天,每次工资是一块金,老板的金条每次只有两次切割机会去把一条金条分配给员工?
        将金条按照1:2:4的比例切割5.你有一个5L的水桶,和一个3L的水桶,有取自不尽的谁,怎么得到4L的水?
      第一次:把5L的水桶装满,然后倒入3L的水桶。这样,5L的水桶还剩2L
      第二次:把3L的桶中的水倒掉,把5L的水桶中剩余的水倒进来。这样3L的桶中有2L的水
      第三次:再把5L的水桶装满,将3L的水桶装满。这样5L的水桶刚好剩4L水
      

  7.   

    C,
    父类引用指向子类对象,
    new 是在内存中开辟空间
    声明相当于指针
    b的指针指向B1对象开辟的空间
    b1的指针也是指向B1对象开辟的空间,但是是两块内存
    所有b和b1这俩个对象是equals
    考的是"="是赋值不出错
    还是"=="相等呢
    好诡异哦.
      

  8.   

    如果选项是问 是否可以赋值的话,我觉得a,b,c都可以。。
      

  9.   

    一个类没有继承另一个类,默认是去继承Object类,所以 a,b,c都可以
      

  10.   

    A: o=b B:o=a C:b=b1 d:a=b,选项中是赋值操作吗?为什么C是对的,请教
      

  11.   

    =不是直接赋值吗?我跟面试官说常用类型int,string都是这样啊,比较一般用 == 和 equals,
    他叫我想清楚 = 比较的是什么?再回答他,我知道这题考的是父类引用子类对象,
    b和b1引用的都是B1的创建的实例,但用==不行吧(内存地址不同),equeals也不行吧(都没值,怎么比较).
    有这样考的吗?
    我看了网上一大堆笔试题,都没遇到过这样的
      

  12.   

    public class App {
    public static void main(String[] args) {
    A a=new A(){};
    B b=new B();
    B1 b1=new B1();
    Object o = new Object();
    o=a;o=b;b=b1;
    }
    }
    以上是根据LZ的结构写的,这里考的只是继承的关系,没有什么值得的深究.因为B1继承了B.所以可以将B1向中赋值给B.同样,Object是所有对象的父类,当然可以赋值给他了.如果说是比较.那是没看懂什么意思.两个不同的对象可能直接用==或equals()去比较吗?显然是没意义的.
      

  13.   

    因为打印的类没有覆盖toString 方法,所以返回的是@。
      

  14.   

    我觉得这是个赋值的题,答案应该是A、B、C
      

  15.   

    A,B,C吧,因该是指可不可以赋值
      

  16.   

    A/B/C 这题目可能主要考类型转换问题吧,可以将子类赋值给父类,其他类型间的转换需要强制转化,而Object是所有类的父类,所以前三个都可以。
      

  17.   

    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;
    }
    }
      

  18.   


    其实这个问题就是父类引用子类对象,只不过换一种形式去考你。
    List l = new ArrayList();
    变成了:
    List l = new List(){};
    ArrayList al = new ArrayList();
    l = al;
    这种平时用得很多,结果换了一个形式去考,给搞糊涂了,看到等号就想着比较,越想思路越错
      

  19.   

    A a = new A();如果真是这样的话 你应该问面试官题是否出错了
      

  20.   

     A a = new A(){};这是匿名的内部类
      

  21.   

    B1@de6ced你打印出这个 说明 这个是 B1的一个实例 这是一个对象。