zoukankan      html  css  js  c++  java
  • Java基础阶段笔试题2

    Java基础阶段笔试题2

     

    1. 问题:Collection 和 Collections的区别?(10分)

    本题目的:检测对面结合类的理解

    答案:

    Collection是集合类的上级接口3,继承与他的接口主要有Set List。(2

    Collections是针对集合类的一个帮助类3,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作2

     

    1. 问题:Set里的元素能重复么?用什么方法来区分重复与否呢是用==还是equals()? 它们有何区别  (10分)

    本题目的:检测Set的理解。

    答案:

    Set里的元素是不能重复的(2),用iterator()方法来区分重复与否(2)。

    equals()是判读两个Set是否相等

        equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值

     

    1. 问题:abstract classinterface有什么区别?(10分)·

    本题目的:检测final的理解和使用

    答案:

    声明方法的存在而不去实现它的类被叫做抽象类(abstract class),1它用于要创建一个体现某些基本行为的类,在类中可以定义抽象方法,让子类去实现。1不能创建abstract 类的实例。然而可以创建一个抽象类类型的变量,并让它指向具体子类的一个实例。1不能有抽象构造函数或抽象静态方法。1Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。1

    接口(interface)可以理解为是抽象类的变体。1接口中的所有方法都是抽象的,没有一个有程序体。1接口只可以定义static final成员变量。1)接口之间是多继承的。(1) 类与接口之间是多实现的。(1instanceof 运算符可以用来决定某对象的类是否实现了接口。

       

    1. 问题:JAVA语言如何进行异常处理?关键字:throws,throw,try,catch,finally分别代表什么意义?。(10分)

    本题目的:检测值异常的理解

    答案:

    Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。2)

    在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。1)

    当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。1)

    Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理。1)

    用try来指定一块预防所有"异常"的程序。1)

    紧跟在try程序后面,应包含一个catch子句来指定你想要捕捉的"异常"的类型。1)

    throw语句用来明确地抛出一个"异常"。1)

    throws用来标明一个成员函数可能抛出的各种"异常"。1)

    finally为确保一段代码不管发生什么"异常"都被执行一段代码。1)

    1. 问题:ArrayList,Vector, LinkedList的存储性能和特性。(10分)

    本题目的:检测ArrayList,Vector, LinkedList的理解和使用

    答案:

            ArrayListVector都是使用数组方式存储数据2,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,1但是插入元素要涉及数组元素移动等内存操作,1所以索引数据快而插入数据慢1Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,2LinkedList使用双向链表实现存储,1按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。2

         

          

    1. 问题:谈谈final, finally的区别(10分)

    本题目的:检测对于final, finally的理解

    答案:

    final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。1)因此一个类不能既被声明为 abstract的,又被声明为final的。1)将变量或方法声明为final,可以保证它们在使用中不被改变。1)被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。1)被声明为final的方法也同样只能使用,不能重载。(1)

    finally—在异常处理时提供 finally 块来执行任何释放资源的操作。(2)如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。(3)

     

     

    1. 问题:ArrayList和Vector的区别,HashMap和Hashtable的区别?(10分)

    本题目的:检测对于ArrayListVector的区别,HashMapHashtable的区别

    答案:

    就ArrayList与Vector主要从二方面来说。

    一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的(2

    二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半(2

     

    就HashMap与HashTable主要从三方面来说。

    一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现(2

    二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的2

    三.值:只有HashMap可以让你将空值作为一个表的条目的key或value2

    1. 问题:errorexception有什么区别?(10分)

    本题目的:对于错误和异常的理解

    答案:

     error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。(5)

         exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况(5)

     

    1. 问题:try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?(10

    本题目的:检测对于异常中return执行的顺序的理解

    答案:

    会执行5,在return前执行5

     

    1. 问题:给我个你最常见到的runtime exception。(10分)

    本题目的:检测常见异常的掌握情况,由于目前遇到的异常比较少,每个3分,只要能写出3个即可给10

    答案:下面列举出常见的5个异常:

    IndexOutOfBoundsException,NullPointerException,ArithmeticException,ClassCastExceptionFileNotFoundException等。

     

  • 相关阅读:
    [Swift]关键字:class与staitc的区别
    [Swift]LeetCode1171. 从链表中删去总和值为零的连续节点 | Remove Zero Sum Consecutive Nodes from Linked List
    [Swift]LeetCode1172. 餐盘栈 | Dinner Plate Stacks
    [Swift]LeetCode1170. 比较字符串最小字母出现频次 | Compare Strings by Frequency of the Smallest Character
    [Swift]LeetCode1169. 查询无效交易 | Invalid Transactions
    [Swift]LeetCode1167. 连接棒材的最低费用 | Minimum Cost to Connect Sticks
    [Swift]LeetCode1166.设计文件系统 | Design File System
    [Swift]LeetCode1165. 单行键盘 | Single-Row Keyboard
    [Swift]LeetCode1168. 水资源分配优化 | Optimize Water Distribution in a Village
    METRO风格
  • 原文地址:https://www.cnblogs.com/weichunguang/p/7647019.html
Copyright © 2011-2022 走看看