栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java错题归纳day20

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1031815.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号