1.下列修饰符中与访问控制权限无关的是?( )
A.private
B.public
C.protected
D.final
2.在Java中,关于HashMap类的描述,以下错误的是()?
A.HashMap能够保证其中元素的顺序
B.HashMap允许将null用作值
C.HashMap允许将null用作键
D.HashMap使用键/值得形式保存数据
3.下列不属于Java语言性特点的是
A.Java致力于检查程序在编译和运行时的错误
B.Java能运行虚拟机实现跨平台
C.Java自己操纵内存减少了内存出错的可能性
D.Java还实现了真数组,避免了覆盖数据的可能
4.What is the result of compiling and executing the following fragment of code:

Boolean flag = false;
if (flag = true)
{
    System.out.println("true");
}
else
{
    System.out.println("false");
}

A.The code fails to compile at the “if” statement.
B.An exception is thrown at run-time at the “if” statement.
C.The text“true” is displayed.
D.The text“false”is displayed.
E.Nothing is displayed.
5.输出结果为

public class Demo{
    public static void main (String [] args) {
        String lx = “LeXin”;
        String nb = lx;
        lx = "Fenqile";
        System.out.println(nb);
    }
}

6.Java 语言中创建一个对象使用的关键字是()
A.class
B.interface
C.new
D.,create
7.关于protected 修饰的成员变量,以下说法正确的是
A.可以被该类自身、与它在同一个包中的其它类、在其它包中的该类的子类所访问
B.只能被该类本身和该类的所有的子类访问
C.只能被该类自身所访问
D.只能被同一个包中的类访问
8.list是一个ArrayList的对象,哪个选项的代码填到//todo delete处,可以在Iterator遍历的过程中正确并安全的删除一个list中保存的对象?()

Iterator it = list.iterator();
int index = 0;
while (it.hasNext())
{
    Object obj = it.next();
    if (needDelete(obj))  //needDelete返回boolean,决定是否要删除
    {
        //todo delete
    }
    index ++;
}

A.it.remove();
B.list.remove(obj);
C.list.remove(index);
D.list.remove(obj,index);
9.Java1.8版本之前的前提,Java特性中,abstract class和interface有什么区别()
A.抽象类可以有构造方法,接口中不能有构造方法
B.抽象类中可以有普通成员变量,接口中没有普通成员变量
C.抽象类中不可以包含静态方法,接口中可以包含静态方法
D.一个类可以实现多个接口,但只能继承一个抽象类。
10.以下说法错误的是()
A.其他选项均不正确
B.java线程类优先级相同
C.Thread和Runnable接口没有区别
D.如果一个类继承了某个类,只能使用Runnable实现线程
(1)D
前三个是访问控制(access control),
限制读取,
后一个限制写入。
(2) A
HashMap是基于哈希算法来确定元素的位置(槽)的,当我们向集合中存入数据时,它会计算传入的Key的哈希值,并利用哈希值取余来确定槽的位置,与存入的先后顺序无关,所以可以认定为HashMap是无序的。因此答案A错误。
(3)答案:D
Java致力于检查程序在编译和运行时的错误。
Java虚拟机实现了跨平台接口
类型检查帮助检查出许多开发早期出现的错误。
Java自己操纵内存减少了内存出错的可能性。
Java还实现了真数组,避免了覆盖数据的可能。
注意,是避免数据覆盖的可能,而不是数据覆盖类型
(4)C
因为boolean 类型的变量可以用if()进行判断,但是如果是基本的数据类型 if(int/float/double=值)是不被允许的。
(5)首先将Lx指向“LeXin”的应用赋给了nb,然后Lx又指向了“Fenqile”,最后输出nb所指向的内容,所以输出“LeXin”。
(6)C
(7)A
java中有四大修饰符,分别为private,default,protected,public,下面主要是四者之间的区别:

  • private(私有的)
    private可以修饰成员变量,成员方法,构造方法,不能修饰类(此刻指的是外部类,内部类不加以考虑)。被private修饰的成员只能在其修饰的本类中访问,在其他类中不能调用,但是被private修饰的成员可以通过set和get方法向外界提供访问方式
  • default(默认的)
    defalut即不写任何关键字,它可以修饰类,成员变量,成员方法,构造方法。被默认权限修饰后,其只能被本类以及同包下的其他类访问。
  • protected(受保护的)
    protected可以修饰成员变量,成员方法,构造方法,但不能修饰类(此处指的是外部类,内部类不加以考虑)。被protected修饰后,只能被同包下的其他类访问。如果不同包下的类要访问被protected修饰的成员,这个类必须是其子类。
  • public(公共的)
    public是权限最大的修饰符,他可以修饰类,成员变量,成员方法,构造方法。被public修饰后,可以再任何一个类中,不管同不同包,任意使用。
    public protected default private
    同一个类 √ √ √ √
    同一个包 √ √ √
    子类 √ √
    不同包 √
    (8)A
    Iterator 支持从源集合中安全地删除对象,只需在 Iterator 上调用 remove() 即可。这样做的好处是可以避免 ConcurrentModifiedException ,当打开 Iterator 迭代集合时,同时又在对集合进行修改。有些集合不允许在迭代时删除或添加元素,但是调用 Iterator 的remove() 方法是个安全的做法。
    (9)正确答案: A B D
    修饰字符static与abstract不能够同时修饰。
    抽象类中可以存在普通方法,所以能够使用static修饰。
    接口中方法都为抽象方法,所以不能够使用static修饰。
    (10)正确答案: B C D
    B.java中的线程是存在优先级的,也有相应的设置优先级的方法。 C.一个是继承类,一个是实现接口肯定不一样 D.可以用Callable的方式或者线程池。