2019年12月24日 java1

考点1 java数组声明

以下二维数组声明合法的是( )

  • A char[2][3] ch = new char[][]
  • B char[2][] ch = new char[][3]
  • C char[][] ch = new char[2][3]
  • D char[][] ch = new [2]char[3]

解析

显示答案/隐藏答案正确答案: C

定义数组,等号左边不能出现数字,也就是数组的不管什么大小 不能出现在左边

考点2 java类加载器

下面有关java classloader说法错误的是?

  • A Java默认提供的三个ClassLoaderBootStrap ClassLoader,Extension ClassLoader,App ClassLoader
  • B ClassLoader使用的是双亲委托模型来搜索类的
  • C JVM在判定两个class是否相同时,只用判断类名相同即可,和类加载器无关
  • D ClassLoader就是用来动态加载class文件到内存当中用的

解析

显示答案/隐藏答案正确答案: C

考点3 java抽象类方法默认访问权限

抽象类方法的访问权限默认都是public。( )

  • A 正确
  • B 错误

解析

显示答案/隐藏答案正确答案: B

JDK 1.8以前,抽象类的方法默认访问权限为protected
JDK 1.8时,抽象类的方法默认访问权限变为default
JDK 1.8以前,接口中的方法必须是public的
JDK 1.8时,接口中的方法可以是public的,也可以是default的
JDK 1.9时,接口中的方法可以是private的

考点4 排序算法复杂度

在各自最优条件下,对N个数进行排序,哪个算法复杂度最低的是? ()

  • A 插入排序
  • B 快速排序
  • C 堆排序
  • D 归并排序

解析

显示答案/隐藏答案正确答案: A

插入排序:最佳O(N)
快速排序:最佳O(NlogN)
堆 排序:最佳O(NlogN)
归并排序:最佳O(NlogN)
因此选择插入排序。
排序算法复杂度

考点5 类的修饰符

若需要定义一个类,下列哪些修饰符是允许被使用的?( )

  • A static
  • B package
  • C private
  • D public

解析

显示答案/隐藏答案正确答案: ACD

普通类(外部类):只能用publicdefault(不写)、abstractfinal修饰。
(成员)内部类:可理解为外部类的成员,所以修饰类成员的publicprotecteddefaultprivatestatic等关键字都能使用。
局部内部类:出现在方法里的类,不能用上述关键词来修饰。
匿名内部类:给的是直接实现,类名都没有,没有修饰符。