您的位置:首页 > 职场人生

JAVA面试题参考答案,细则见下一篇

2017-10-08 21:00 344 查看

一  单选题

1-5:B C D D A    6-10:D ACD C D B

11-15:C B AC AB AB    16-20:C C D A B

二  填空题(每个空一分)

1.   6world123
2.   1  1  -1  -1
3.     false
4.     是
5.     16   2n+1.(前边数字对即可)
6.     10   1.5倍 .(前边数字对即可)
7.     字节码文件.
8.   Exception  Throwable.
9.   5
10.  继承、封装和多态
 三.简单题
1. 存在使i+ 1 < i的数吗,如果存在说明情况,如果不存在说明理由.(4分)
答案:存在(2分)
解析:如果i为int型,那么当i为int能表示的最大整数时,i+1就溢出变成负数了,此时不就<i了吗。(2分)

2、阐述final、finally、finalize的用途和区别。 (6分)
答: 
(1)final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 
内部类要访问局部变量,局部变量必须定义成final类型,例如,一段代码…… (2分)
finally是异常处理语句结构的一部分,表示总是执行。(2分)
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法(2分)

3、Java支持的数据类型有哪些?每种数据类型的字节长度是多少?什么是自动拆装箱?(6分)
Java语言支持的8中基本数据类型是:
byte  1
short  2
int  4
long 8
float  4
double  8
Boolean  1
char  2        (4分,答出基本类型2分,字节长度答对全部2分,其余0分)
自动装箱是Java编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如:把int转化成Integer,double转化成double,等等。反之就是自动拆箱。(2分,意思到位即可)
4. 下面程序能正常运行吗? 能的话输出什么?不能的话原因是什么?(6分)
答案:
能正常运行,输出为haha(2分),
因为null值可以强制转 换为任何java类类型,(String)null也是合法的。但null强制转换后是无效对象,其返回值还是为null,而static方法的调用是和 类名绑定的,不借助对象进行访问所以能正确输出。反过来,没有static修饰就只能用对象进行访问,使用null调用对象肯定会报空指针错了。这里和 C++很类似 (4分)

5 、哪些情况下可以终止一个正在运行的线程的方式?(6分)

抛出异常或错误;(2分)

调用stop()(不建议使用,容易导致死锁);(2分)

执行完run(),线程正常结束。(2分)
6. 下面程序的运行结果是什么? (6分)
答案:(全对才有分)
static A
static B
I'm A class
HelloA
I'm B class
HelloB
 
16. 重写和重载的区别?
(1)重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同);(2分)
(2)重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现;只能比父类抛出更少的异常,或者是抛出父类抛出的异常的子异常;子类方法的访问权限只能比父类的更大,不能更小。如果父类的方法是private类型,那么,子类则不存在覆盖的限制,相当于子类中增加了一个全新的方法;(4分)
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面试题 java