- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
1.1Java软件开发工程师入职测试题及参考解答(第2部分)
1.1.1基础知识
1、接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承实体类
(concreteclass)?
classBase{
publicvoidfun){}
}
classDerivedextendsBase
{
publicvoidfun){}
abstractpublicvoidother();
}
接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但
前提是实体类必须有明确的构造函数。
2,启动一个线程是用run()还是start()?
启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意
味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。
run()方法是线程体方法。
3、构造器(方法)Constructor是否可被override(重写)?
理解:什么是构造方法?为什么要提出构造方法?在什么场合要提供构造方法?如何设计
(编程)构造方法?
构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。
classMyClass{
publicMyClass(){
}
}
classMyClass{
privateMyClass(){
}
publicstaticvoidmain(Stringargs[]){
MyClassobj=newMyClass();
}
}
4,是否可以继承String类?
String类是final类,故不可以继承。
5,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的
其它方法?
不能,一个对象的一个synchronized方法只能由一个线程访问。
6,try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行?
什么时候被执行,在return前还是后?
会执行,在return前执行。
7,编程题:用最有效率的方法算出2乘以8等於几?2*8
有C背景的程序员特别喜欢问这种问题。
23|
8,两个对象值相同(x.equals(y)==true),但却可有不同的hashcode,这句话对不对?
理解:对象相同的含义是什么?对象引用?hashcode是什么含义?
不对,有相同的hashcode。
9,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变
化后的结果,那么这里到底是值传递还是引用传递?
理解:什么是值传递调用?什么是引用传递调用?
理解:什么是对象拷贝?(基本数据类型和字符串)什么是对象引用(非字符串以外的其
他类型的对象)?对象拷贝和对象引用之间有什么差别?
本题的答案是:引用传递。
packagecom.px1987.javaexample;
publicclassUserInfoVO{
StringuserName;
intuserAge;
publicUserInfoVO(){
}
publicvoidsetUserAge(intnewAge){
userAge=newAge;
newAge=1;
}
publicvoidsetUserName(StringnewUserName){
userName=newUserName;
newUserName=新的用户名称;
}
publicStringgetUserName(){
returnuserName;
}
publicvoidsetUserInfo(UserInfoVOoneUserInfoVO){
oneUserInfoVO.setUserName(新的用户名称);
}
publicstaticvoidmain(Stri
文档评论(0)