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为什么?面试官还跟我说他的题你好难在网上找到的.......
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为什么?面试官还跟我说他的题你好难在网上找到的.......
A a = new A(){};这个说明一下:
B1@de6ced,这是Object中的toString()方法,它返回的是“类名+@+hashCode()”拼接的字符串
还问了一个..Vector增加组建的方法.我都没用过,还好给猜中了...
大题写format实现,输入数组排序,sql查询对两个表进行三个操作。
思考题下是把数据从数据库放入xml,再传输给别人怎么实现同步?还有几个加分的思维题:
1.一条不均匀的线布,完全燃烧要1小时,现在有N条这样的线布,怎么烧才能刚好达到1小时15分?
2.数字电子表 在镜面的像数字什么时候会重叠?有多少次,分别是多少?
3.用什么方法破坏,正在打印机打印的数据?
4.每个员工每天要结算工资,一共要做7天,每次工资是一块金,老板的金条每次只有两次切割机会去把一条金条分配给员工?
5.你有一个5L的水桶,和一个3L的水桶,有取自不尽的谁,怎么得到4L的水?还有一些笔试题忘了,只记得深刻的
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 就是这样,之前是我没记清楚
先将第一根线两头点着,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水
父类引用指向子类对象,
new 是在内存中开辟空间
声明相当于指针
b的指针指向B1对象开辟的空间
b1的指针也是指向B1对象开辟的空间,但是是两块内存
所有b和b1这俩个对象是equals
考的是"="是赋值不出错
还是"=="相等呢
好诡异哦.
他叫我想清楚 = 比较的是什么?再回答他,我知道这题考的是父类引用子类对象,
b和b1引用的都是B1的创建的实例,但用==不行吧(内存地址不同),equeals也不行吧(都没值,怎么比较).
有这样考的吗?
我看了网上一大堆笔试题,都没遇到过这样的
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()去比较吗?显然是没意义的.
}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;
}
}
其实这个问题就是父类引用子类对象,只不过换一种形式去考你。
List l = new ArrayList();
变成了:
List l = new List(){};
ArrayList al = new ArrayList();
l = al;
这种平时用得很多,结果换了一个形式去考,给搞糊涂了,看到等号就想着比较,越想思路越错