16.以下程序的输出结果为(D)
class Base{
public Base(String s){
System.out.print("B");
}
}
public class Derived extends Base{
public Derived (String s) {
System.out.print("D");
}
public static void main(String[] args){
new Derived("C");
}
}
A.BD
B.DB
C.C
D.编译错误
子类构造方法在调用时必须先调用父类的,由于父类没有无参构造,必须在子类中显式调用,修改子类 构造方法如下即可:
public Derived(String s){
super("s");
System.out.print("D");
}
17.下面属于java引用类型的有?(AD)
A.String
B.byte
C.char
D.Array
java语言是强类型语言,支持的类型分为两类:基本类型和引用类型。
基本类型包括boolean类型和数值类型,
数值类型有整数类型和浮点类型。
整数类型包括:byte、 short、int、long和char;
浮点类型包括:float和double
引用类型包括类、接口和数组类型以及特殊的null类型。
18.以下哪些继承自 Collection 接口(AB)
A.List
B.Set
C.Map
D.Array
集合常考点:
Collection接口:
1.List接口:内容允许重复 {1.ArrayList 2.LinkedList,也实现了Queue 接口 3.Vector}
2.Set接口:内容不允许重复
3.Queue接口:队列接口
4.sortedSet接口:单值排序接口
Map接口:
1.HashMap接口:无序存放,key不重复
2.HashTable接口:无序存放,key不重复
3.TreeMap接口:按key排序,key不重复
4.IdentityHashMap接口:key可重复
5.WeakHashMap接 口:弱引用Map集合
19.java中关于继承的描述正确的是(ACD)
A.一个子类只能继承一个父类
B.子类可以继承父类的构造方法
C.继承具有传递性
D.父类一般具有通用性,子类更具体
B选项,
当父类有无参构造方法时:子类会自动调用父类的默认的构造方法,并且调用父类的构造方法时在子类的第一行调用。
当父类只有有参构造时:必须在子类的构造方法中手动调用父类的有参构造,否则会报错
20.下面有关java classloader说法正确的是(ACD)
A.ClassLoader就是用来动态加载class文件到内存当中用的
B.JVM在判定两个class是否相同时,只用判断类名相同即可,和类加载器无关
C.ClassLoader使用的是双亲委托模型来搜索类的
D.Java默认提供的三个ClassLoader是Boostrap ClassLoader,Extension ClassLoader,App ClassLoader
E.以上都不正确
B选项,
在JVM中,判断两个类是否相同,不仅仅是基于类的全名是否相同,而是由类加载器和类的全名共同决定。根据JVM规范,只有当两个类是由同一个类加载器加载的,并且它们的二进制名称(Binary Name)也相同,才会被认为是同一个类。