版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中软国际Java程序员笔试题及答案原文地址:1、谈谈final,finally,finalize的区别。final:修饰符(关键字)假如一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。finally:在异常解决时提供finally块来执行任何清除操作。假如抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(假如有的话)。finalize:方法名。Java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在拟定这个对象没有被引用时对这个对象调用的。它是在Object类中定义的,因此所有的类都继承了它。子类覆盖finalize()方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。2、AnonymousInnerClass(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?匿名的内部类是没有名字的内部类。不能继承其它类,但一个内部类可以作为一个接口,由另一个内部类实现。3、StaticNestedClass和InnerClass的不同,说得越多越好(面试题有的很笼统)。Staticnestedclass(嵌套类)是将内部类声明为static。普通内部类对象隐式地保存了一个引用,指向创建它的外围类对象,不能有static数据和static字段。嵌套类意味着:1>要创建嵌套类的对象,并不需要其外围类的对象;2>不能从嵌套类的对象中访问非静态的外围类的对象。4、&和&&的区别。&是两个数相与,是位运算符&&是布尔逻辑运算符,连接两个条件表达式的,两个条件表达式都为真时,整个才为真5、HashMap和Hashtable的区别。都属于Map接口的类,实现了将惟一键映射到特定的值上。HashMap类没有分类或者排序。它允许一个null键和多个null值。Hashtable类似于HashMap,但是不允许null键和null值。它也比HashMap慢,由于它是同步的,是线程安全的。6、Collection和Collections的区别。Collections是个java.util下的类,它包具有各种有关集合操作的静态方法。Collection是个java.util下的接口,它是各种集合结构的父接口。7、List,Set,Map是否继承自Collection接口?List,Set是Map不是8、ArrayList和Vector的区别。1>同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的2>数据增长:当需要增长时,Vector默认增长为本来一培,而ArrayList却是本来的一半9、什么时候用assert。assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个对的程序必须保证这个boolean表达式的值为true;假如该值为false,说明程序已经处在不对的的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的对的性。assertion检查通常在开发和测试时启动。为了提高性能,在软件发布后,assertion检查通常是关闭的。10、GC是什么?为什么要有GC?GC是垃圾收集器。Java程序员不用紧张内存管理,由于垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:System.gc()
Runtime.getRuntime().gc()
11、Strings=newString("xyz");创建了几个StringObject?两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s12、.Math.round(11.5)等於多少?Math.round(-11.5)等於多少?Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;由于返回最接近参数的long。通过加上1/2将该结果舍入为整数,取结果的基数并将其强制转换为long类型。换句话说,结果等于以下表达式的值:(long)Math.floor(a+0.5d)13、shorts1=1;s1=s1+1;有什么错?shorts1=1;s1+=1;有什么错?shorts1=1;s1=s1+1;错,shorts1=1;s1+=1;对。对于shorts1=1;s1=s1+1;由于s1+1运算时会自动提高表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误。对于shorts1=1;s1+=1;由于+=是java语言规定的运算符,java编译器会对它进行特殊解决,因此可以对的编译。14、sleep()和wait()有什么区别?sleep是线程类(Thread)的方法,导致此线程暂停执行指定期间,给执行机会给其他线程,但是监控状态仍然保持,届时后会自动恢复。调用sleep不会释放对象锁。wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运营状态。15、数组有没有length()这个方法?String有没有length()这个方法?数组没有length()这个方法,有length的属性。String有有length()这个方法。16、是否可以继承String类?String类是final类故不可以继承。17、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?overload一般翻译为重载,表达多个函数共用同一个函数名,为了保证调用这些同名函数时能对的区分究竟应当调用的是其中的哪一个,重载的各个函数的参数表(不考虑形参名)必须彼此不同,通常简略地说成“不同参数表”。它对返回值的类型没有任何规定,所以你可以随意为每一个重载的函数设立返回类型,相同也行,不同也行。override一般翻译为覆盖,表达子类对从父类继承来的虚函数重新定义,它规定参数表必须跟父类中被覆盖的那个函数的参数表完全相同,返回值类型原则上也规定相同,但假如返回类型是父类的指针或者父类的引用,覆盖时返回类型允许是子类的指针或者子类的引用。18、Set里的元素是不能反复的,那么用什么方法来区分反复与否呢?是用==还是equals()?它们有何区别?Set是Collection容器的一个子接口,它不允许出现反复元素,当然也只允许有一个null对象。equals()区分更合适。为什么用equals()而不用==来区分?应当从它俩的区别谈起,==是用来判断两者是否是同一对象(同一事物),而equals是用来判断是否引用同一个对象。再看一下Set里面存的是对象,还是对象的引用。根据java的存储机制可知,set里面存放的是对象的引用,所以当两个元素只要满足了equals()时就已经指向同一个对象,也就出现了反复元素。所以应当用equals()来判断。19、给我一个你最常见到的runtimeexception。ArithmeticException,
ArrayStoreException,
BufferOverflowException,
BufferUnderflowException,
CannotRedoException,
CannotUndoException,
ClassCastException,
CMMException,
ConcurrentModificationException,
DOMException,
EmptyStackException,
IllegalArgumentException,
IllegalMonitorStateException,
IllegalPathStateException,
IllegalStateException,
ImagingOpException,
IndexOutOfBoundsException,
MissingResourceException,
NegativeArraySizeException,
NoSuchElementException,
NullPointerException,
ProfileDataException,
ProviderException,
RasterFORMatException,
SecurityException,
SystemException,
UndeclaredThrowableException,
UnmodifiableSetException,
UnsupportedOperationException
20、error和exception有什么区别?Error(错误)表达系统级的错误和程序不必解决的异常,是java运营环境中的内部错误或者硬件问题,比如,内存资源局限性等,对于这种错误,程序基本无能为力,除了退出运营外别无选择。Exception(违例)表达需要捕获或者需要程序进行解决的异常,它解决的是由于程序设计的瑕疵而引起的问题或者在外的输入等引起的一般性问题,是程序必须解决的。21、abstractclass和interface有什么区别?1>.相同点A.两者都是抽象类,都不能实例化。B.interface实现类及abstrctclass的子类都必须要实现已经声明的抽象方法。2.>不同点A.interface需要实现,要用implements,而abstractclass需要继承,要用extends。B.一个类可以实现多个interface,但一个类只能继承一个abstractclass。C.interface强调特定功能的实现,而abstractclass强调所属关系。D.尽管interface实现类及abstrctclass的子类都必须要实现相应的抽象方法,但实现的形式不同。interface中的每一个方法都是抽象方法,都只是声明的(declaration,没有方法体),实现类必须要实现。而abstractclass的子类可以有选择地实现。这个选择有两点含义:一是Abastractclass中并非所有的方法都是抽象的,只有那些冠有abstract的方法才是抽象的,子类必须实现。那些没有abstract的方法,在Abstrctclass中必须定义方法体。二是abstractclass的子类在继承它时,对非抽象方法既可以直接继承,也可以覆盖;而对抽象方法,可以选择实现,也可以通过再次声明其方法为抽象的方式,无需实现,留给其子类来实现,但此类必须也声明为抽象类。既是抽象类,当然也不能实例化。E.abstractclass是interface与Class的中介。interface是完全抽象的,只能声明方法,并且只能声明pulic的方法,不能声明private及protected的方法,不能定义方法体,也不能声明实例变量。然而,interface却可以声明常量变量,并且在JDK中不难找出这种例子。但将常量变量放在interface中违反了其作为接口的作用而存在的宗旨,也混淆了interface与类的不同价值。假如的确需要,可以将其放在相应的abstractclass或Class中。abstractclass在interface及Class中起到了承上启下的作用。一方面,abstractclass是抽象的,可以声明抽象方法,以规范子类必须实现的功能;另一方面,它又可以定义缺省的方法体,供子类直接使用或覆盖。此外,它还可以定义自己的实例变量,以供子类通过继承来使用。3>.interface的应用场合A.类与类之前需要特定的接口进行协调,而不在乎其如何实现。B.作为可以实现特定功能的标记存在,也可以是什么接口方法都没有的纯粹标记。C.需要将一组类视为单一的类,而调用者只通过接口来与这组类发生联系。D.需要实现特定的多项功能,而这些功能之间也许完全没有任何联系。4>、abstractclass的应用场合一句话,在既需要统一的接口,又需要实例变量或缺省的方法的情况下,就可以使用它。最常见的有:A.定义了一组接口,但又不想逼迫每个实现类都必须实现所有的接口。可以用abstractclass定义一组方法体,甚至可以是空方法体,然后由子类选择自己所感爱好的方法来覆盖。B.某些场合下,只靠纯粹的接口不能满足类与类之间的协调,还必需类中表达状态的变量来区别不同的关系。abstract的中介作用可以很好地满足这一点。C.规范了一组互相协调的方法,其中一些方法是共同的,与状态无关的,可以共享的,无需子类分别实现;而另一些方法却需要各个子类根据自己特定的状态来实现特定的功能22、接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承实体类(concreteclass)?接口可以继承接口。抽象类可以实现(implements)接口。抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。23、构造器Constructor是否可被override?构造器Constructor不能被继承,因此不能重写Overrid
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023净身出户离婚协议书
- 偿还借款协议书范本
- 额部肿块病因介绍
- 公司转让个人股份协议
- 中考政治第一部分知识闯关能力提升第二课时调节情绪学习压力明辨是非复习课获
- 2015中国在线音乐行业研究报告
- (2024)赤泥综合利用生产建设项目可行性研究报告(一)
- 2023年办公照明项目筹资方案
- 【电信终端产业协会】2024年终端智能化分级研究报告
- 国际物流题库(含参考答案)
- 会计学原理智慧树知到期末考试答案2024年
- 学校基建处处长述职报告
- 《血站业务场所建设指南 第3部分:献血屋》
- 安宁护理个案
- (2024年)计算机安全培训
- 城市地理学智慧树知到期末考试答案2024年
- 部队安全预防教案
- JB T 3929-2008通用悬挂输送机
- 员工更替计划
- 初三期末考试动员班会 (2)课件
- 抖音小店数据分析怎么做
评论
0/150
提交评论