Java代码笔试题重点汇总(2)

招聘笔试题2019-06-04王新老师

解答:这道题考察重载方法参数具有继承关系时的调用问题,还有对null的认识。如果是一般具有继承关系的对象分别作为参数,看对象的引用,如:

classA {}classBextendsA {}publicclassTest {publicstaticvoidmain(String[] args) {A b1 = new B();B b2 = new B();get(b1);// Aget(b2);// B}publicstaticvoidget(A a) {System.out.println("A");}publicstaticvoidget(B a) {System.out.println("B");}}

这道题中,Object是一切类的父类,具有继承关系,那null是指向什么呢?null是任何引用类型的初始值,String和Object的初始值都是null,但是null会优先匹配引用类型参数为String的方法,因此这道题答案是string。假设这道题中还有其他同是引用类型的重载方法呢?如:

publicvoidmyMethod(Integer obj){System.err.println("Integer");}

如果是这样的话,调用这个方法传入参数null时会报错,他不知道选哪个方法进行匹配调用了。

4、假设今天是9月8日,下面代码输出什么?

publicclass Test {public static void main(String[] args) {Datedate = newDate();System.err.println(date.getMonth() + " " + date.getDate());}}

解答:这道题考察的是日期中获取的月份是从0开始的,因此会比我们日常的月份少1,这个题答案是8 8。

5、下面代码的输出结果是什么?

publicclassTest {publicstaticvoidmain(String[] args){double val = 11.5;System.err.println(Math.round(val));System.err.println(Math.floor(val));System.err.println(Math.ceil(val));}}

相关推荐

猜你喜欢

大家正在看

换一换