欢迎来到天天文库
浏览记录
ID:39508735
大小:21.58 KB
页数:19页
时间:2019-07-04
《高级开发人员面试宝典(二)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、thinkinjavainterview-高级开发人员面试宝典(二)-lifetragedy的专栏-博客频道-CSDN.NET从现在开始,以样题的方式一一列出各种面试题以及点评,考虑到我在前文中说的,对于一些大型的外资型公司,你将会面临全程英语面试,因此我在文章中也会出现许多全英语样题。这些题目来自于各个真实的公司,公司名我就不一一例举了,是本人一直以来苦心收藏的。一个JAVA的MAIN方法引发的一场血案Q: Whatifthemainmethodisdeclaredasprivate?A: Theprogramcompilespro
2、perlybutatruntimeitwillgive"Mainmethodnotpublic."message.Q:Whatifthestaticmodifierisremovedfromthesignatureofthemainmethod?A:Programcompiles.Butatruntimethrowsanerror"NoSuchMethodError".Q:WhatifIwritestaticpublicvoidinsteadofpublicstaticvoid?A: Programcompilesandrunsprope
3、rly.Q:WhatifIdonotprovidetheStringarrayastheargumenttothemethod?A: Programcompilesbutthrowsaruntimeerror"NoSuchMethodError".Q:WhatisthefirstargumentoftheStringarrayinmainmethod?A: TheStringarrayisempty.Itdoesnothaveanyelement.ThisisunlikeC/C++(读作plusplus)wherethefirstelem
4、entbydefaultistheprogramname.Q:IfIdonotprovideanyargumentsonthecommandline,thentheStringarrayofMainmethodwillbeemptyornull?A: Itisempty.Butnotnull.Q:Howcanoneprovethatthearrayisnotnullbutemptyusingonelineofcode?A: Printargs.length.Itwillprint0.Thatmeansitisempty.Butifitwo
5、uldhavebeennullthenitwouldhavethrownaNullPointerExceptiononattemptingtoprintargs.length.仔细看完后有人直接吐血了,拿个eclipse,这几个问题全部模拟一边就可以了,即无算法也不需要死记硬背有人会说了,唉,我怎么写了5年的JAVA怎么就没记得多写多看,多想想这个publicstaticvoidmain(String[]args)方法呢?唉。。。再来!!!hashcode&equals之5重天何时需要重写equals()当一个类有自己特有的“逻辑相等”概
6、念(不同于对象身份的概念)。如何覆写equals()和hashcode覆写equals方法1 使用instanceof操作符检查“实参是否为正确的类型”。2 对于类中的每一个“关键域”,检查实参中的域与当前对象中对应的域值。3.对于非float和double类型的原语类型域,使用==比较;4 对于对象引用域,递归调用equals方法;5 对于float域,使用Float.floatToIntBits(afloat)转换为int,再使用==比较;6 对于double域,使用Double.doubleToLongBits(adouble)转换
7、为int,再使用==比较;7 对于数组域,调用Arrays.equals方法。覆写hashcode1.把某个非零常数值,例如17,保存在int变量result中;2.对于对象中每一个关键域f(指equals方法中考虑的每一个域):3,boolean型,计算(f?0:1);4.byte,char,short型,计算(int);5.long型,计算(int)(f^(f>>>32));6.float型,计算Float.floatToIntBits(afloat);7.double型,计算Double.doubleToLongBits(adoub
8、le)得到一个long,再执行[2.3];8.对象引用,递归调用它的hashCode方法;9.数组域,对其中每个元素调用它的hashCode方法。10.将上面计算得到的散列码保存到int变量c
此文档下载收益归作者所有