- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java面试题集二解读
Java OOP进阶之Java面试题集二 Q1 讲述ArrayList和Vector的区别? A1 主要从三方面来说. 一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的 二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半。 三.速度方面,ArrayList高于Vector. Q2 讲述HashMap和Hashtable的区别. A2 Q3 多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? A3 多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 同步的实现方面有两种,分别是synchronized,wait与notify. Q4 以下语句会输出什么? public class BaseClass{ public BaseClass(){ System.out.println(This is a BaseClass); } } public class ChildClass extends BaseClass{ public ChildClass(){ System.out.println(This is a ChildClass); } public static void main(String[] args){ BaseClass b=new ChildClass(); } } Q4 This is a BaseClass This is a ChildClass java构造函数的执行过程及初始化变量的过程 1.初始化对象的存储空间为零或Null值. 2.调用父类构造函数,并非需显式写super. 3.按顺序分别调用成员变量的初始化表达式. 4.调用本身构造函数. Q5 执行main函数的输出是: public class BaseClass{ public BaseClass(){ fun(); } public void fun(){ System.out.println(This is a function); } } public class ChildClass extends BaseClass{ public void fun(){ System.out.println(This is a inherited function); } public static void main(String[] args){ BaseClass b=new BaseClass(); System.out.println(-------------); ChildClass c=new ChildClass(); System.out.println(-------------); BaseClass b2=(BaseClass)c; b2.fun(); } } A5 This is a function ------------- This is a inherited function ------------- This is a inherited function Q6 谈谈接口,类与抽象类的区别? A6 Q7 写出将字符串”Andy, Bill ,Cindy , Douglas, Felex”劈分成字符串数组的办法?(注意其中的空格,劈分后的字符串数组为{“Andy”,“Bill”,“Cindy”,“Douglas”,“Felex”}; A7 方法一: String str=Andy, Bill ,Cindy , Douglas, Felex; String[] arr1=str.split(\\s*,\\s*); 方法二: String str=Andy, Bill ,Cindy , Douglas, Felex; Pattern pattern=Ppile(\\s*,\\s*); String[] arr2=pattern.split(str); Q8 谈谈String和StringBuffer的区别? A8 两者都实现了CharSequence接口,String是不可变的,每次对String进行改值操作时实际上都在不断生成新的的String对象,这在大量字符串累加时对性能和效率有较大影响,而StringBuffer是容量可变的,在字符串累加时长度会增加,不会像String累加不断生成新对象,效率较高,因此在执行大量字符串累加时应该采用StringBuffer。在累加完毕时调用toStr
文档评论(0)