Java错题归纳day20

1. 在Java中,以下关于方法重载和方法重写描述正确的是?

A 方法重载和方法的重写实现的功能相同
B 方法重载出现在父子关系中,方法重写是在同一类中
C 方法重载的返回值类型必须一致,参数项必须不同
D 方法重写的返回值类型必须相同或相容。
答案:D
解析:

  • 重载是发生在同一个类中,方法名相同,参数列表不同的方法,为的是在处理不同的数据类型时,为调用者提供了一个同意的入口。重载遵循编译期绑定。
  • 重写是指,子类中的方法与父类的方法方法签名相同。从而覆盖父类中的方法的现象。重写是多态的基础,通过重写,子类可以表现出与父类不同的行为。重写时要,遵循“两同两小一大”的原则,即:方法名相同,参数列表相同,返回值类型要小于或等于父类,抛出的异常要小于或等于父类,访问权限要大于等于父类。

2. 在 java 中 , 以下 _____ 类的对象以键 - 值的方式存储对象

A java,util.List
B java,util.ArrayList
C java,util.HashMap
D java,util.LinkedList
答案:C
解析:

  • Map以key-value形式保存,HashMap、HashTable继承自Map;
  • ArrayList底层以数组方式存储;
  • LinkedList以链表形式存储。

3. 在java7中,下列哪个说法是正确的:

A ConcurrentHashMap使用synchronized关键字保证线程安全
B HashMap实现了Collection接口
C Arrays.asList方法返回java.util.ArrayList对象
D SimpleDateFormat对象是线程不安全的
答案:D
解析:

  • hashMap在单线程中使用大大提高效率,在多线程的情况下使用hashTable来确保安全
  • hashTable中使用synchronized关键字来实现安全机制,但是synchronized是对整张hash表进行锁定即让线程独享整张hash表,在安全同时造成了浪费。
  • concurrentHashMap采用分段加锁的机制来确保安全
  • Arrays.asList()
    将一个数组转化为一个List对象,这个方法返回一个ArrayList类型的对象, 这个ArrayList类并非java.util.ArrayList类,而是Arrays类的静态内部类!用这个对象对列表进行添加删除更新操作,就会报UnsupportedOperationException异常。

4. 给定代码:

public class SwitchTest{//1
public static void main(String[] args) {//2
System.out.println("value="+switchit(4));//3
}//4
public static int switchit(int x) {
int j=1;
switch (x) {
case 1:j++;
case 2:j++;
case 3:j++;
case 4:j++;
case 5:j++;
default:j++;
}
return j+x;
}
}

第三行将输出什么?
A value=6
B value=8
C value=3
D value=5
E value=4
答案:C
解析:switch代码块中没有break,从case 4开始一直执行到最后,j自加3次变成了4,结果返回8,所以选B

5. 用命令方式运行以下代码的运行结果是()

public class f{
public static void main(String[] args){
String foo1 = args[1];
String foo2 = args[2];
String foo3 = args[3];
}
}
命令: java f a b c
A 程序编译错误
B a b c
C 程序运行错误
D f
答案:C
解析:上来就直接用【javac T11 a b c】,以及【javac f a b c】的都会报错。要看是否越界,只能先编译了才行。就是【 javac f.java】。之后用【java T11 a b c】报错"找不到或无法加载主类t11",【java f a b c】会报错,抛出异常,ArrayIndexOutOfBoundsException

6. 以下哪项不属于java类加载过程?

A 生成java.lang.Class对象
B int类型对象成员变量赋予默认值
C 执行static块代码
D 类方法解析
答案:B
解析:成员变量不会被初始化,只有静态变量会被初始化,所以选B

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值