每天10个面试题(day06)

1.下列哪种异常是检查型异常,需要在编写程序时声明?

A. NullPointerException
B. ClassCastException
C. FileNotFoundException
D. IndexOutOfBoundsException

解:C,classNotFoundException是受检异常。其他的都是运行时异常,程序员不能控制。


绿色的是非受检异常,红色是受检异常。


2.Which lines of the following will produce an error?

 byte a1 = 2, a2 = 4, a3;
 short s = 16;
 a2 = s; // 大类型不能转化为小类型
 a3 = a1 * a2; // 自动转化为int 出错

A. Line 3 and Line 4
B. Line 1 only
C. Line 3 only
D. Line 4 only

解:A。byte型是8位,short型是16位。不能将大类型转化为小类型数据


3.在java中重写方法应遵循规则的包括()

A. 访问修饰符的限制一定要大于被重写方法的访问修饰符
B. 可以有不同的访问修饰符
C. 参数列表必须完全与被重写的方法相同
D. 必须具有不同的参数列表

解:BC
访问修饰符的限制大于等于被重写的方法
override的规则:
方法名相同,参数类型相同
子类返回类型小于等于父类方法返回类型,
子类抛出异常小于等于父类方法抛出异常,
子类访问权限大于等于父类方法访问权限。


4.下列Java代码中的变量a、b、c分别在内存的__存储区存放。

class A {
    private String a = “aa”;
    public boolean methodB() {
        String b = “bb”;
        final String c = “cc”;
    }
}

A. 堆区、堆区、堆区
B. 堆区、栈区、堆区
C. 堆区、栈区、栈区
D. 堆区、堆区、栈区

解:C,这里的题目意思的变量指变量实际的值而不是指它变量的引用。java所有变量对象的引用和方法中的成员变量存放在栈中,new出来的对象是存放在堆中,String类型的变量(指这里的 String a = “aa”这种形式)存放在常量池中,常量池位于堆中。


5.以下多线程对int型变量x的操作,哪个不需要进行同步()

A. ++x
B. x=y
C. x++
D. x=0

解析:前三个都至少需要先读取,再操作,非原子操作。而D的话,直接赋值。


6.以下集合对象中哪几个是线程安全的?( )

A. ArrayList
B. V

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值