5、在 JAVA 编程中, Java 编译器会将 Java 程序转换为(A)
A. 字节码
B. 可执行代码
C. 机器代码
D. 以上都不对
解析:
编译器将Java源代码编译成字节码class文件
类加载到JVM里面后,执行引擎把字节码转为可执行代码
执行的过程,再把可执行代码转为机器码,由底层的操作系统完成执行。
15、
Integer a = 1;
Integer b = 1;
Integer c = 500;
Integer d = 500;
System.out.print(a == b);
System.out.print(c == d);
上述代码返回结果为:B
true、true
true、false
false、true
false、false
解析:
这是非常有趣的地方。如果你查看Integer.java类,你会找到IntegerCache.java这个内部私有类,它为-128到127之间的所有整数对象提供缓存。
25、类B从类A派生,则类B可以访问类A中的(AC )成员?(多选)
public成员
private成员
protected成员
所有数据成员
所有函数成员
解析:
数据成员包括ABC
函数成员也包括ABC
所以呢,只要判断ABC就好
private: 本类函数和友元函数可以访问。
protected: 本类函数、友元函数和子类函数可以访问。
public: 本类函数、友元函数、子类函数和本类的对象可以访问。
和公有继承、保护继承和私有继承没有关系,保护继承和私有继承影响的是子类的继承关系。
28、
下面哪个语句是创建数组的正确语句?( ABDE)
float f[][] = new float[6][6];
float []f[] = new float[6][6];
float f[][] = new float[][6];
float [][]f = new float[6][6];
float [][]f = new float[6][];
32、下列修饰符中与访问控制权限无关的是?(D )
A. private
B. public
C. protected
D. final
解析:
private:修饰私有变量
public:修饰公有变量
protected:修饰受保护变量
final:保护私有变量不受改变
35、个抽象类并不需要其中所有的方法都是抽象的。( A )
A. 正确
B. 错误
解析:
1)抽象类可以包括抽象方法和非抽象方法
2)如果类里面有抽象方法的话,那么类一定要声明为抽象的!
40、如果要建立一个java.com.computer的包放入当前java类,下列叙述正确的是? (D )
A. 在代码中,不一定是第一句,只要是类定义前,加入package语句即可
B. 只需在代码中加入“package java.com;”一个语句
C. 必须在代码中加入“package java.com;”和“package java.com.computer;”两个语句
D. 只需在代码中第一条非注释性语句加入“package java.com.computer;”
解析:
package 必须是第一条非注释性的语句,在import 之前,不仅仅是类定义前
49、下列在Java语言中关于数据类型和包装类的说法,正确的是(B)
A. 基本(简单)数据类型是包装类的简写形式,可以用包装类替代基本(简单)数据类型
B. long和double都占了64位(64bit)的存储空间。
C. 默认的整数数据类型是int,默认的浮点数据类型是float。
D. 和包装类一样,基本(简单)数据类型声明的变量中也具有静态方法,用来完成进制转化等。
解析:
A基本类型和包装类是两回事,不是同一个概念。包装类像普通的类一样,封装了一系列的方法
C默认的浮点数据类型是float
D基本数据类型没有静态方法的,包装类却可以,因为包装类像普通的类一样,封装了一系列的方法
14关于继承和实现说法正确的 是 ( B )
A.类可以实现多个接口,接口可以继承(或扩展)多个接口
B.类可以实现多个接口,接口不能继承(或扩展)多个接口
C.类和接口都可以实现多个接口
D.类和接口都不可以实现多个接口
解析:
1.类与类之间的关系为继承,只能单继承,但可以多层继承。
2.类与接口之间的关系为实现,既可以单实现,也可以多实现。
3.接口与接口之间的关系为继承,既可以单继承,也可以多继承。
16
1
Web程序中,当前用户上下文信息应该保存在下面哪个对象中(C)
A.page
B.request
C.session
D.Application
解析:
session:当前用户上下文信息
appication:当前应用
pageContext:当前页面
request:当前请求
22
1
2
3
4
5
6
static String str0="0123456789";
static String str1="0123456789";
String str2=str1.substring(5);
String str3=new String(str2);
String str4=new String(str3.toCharArray());
str0=null;
假定str0,...,str4后序代码都是只读引用。
Java 7中,以上述代码为基础,在发生过一次FullGC后,上述代码在Heap空间(不包括PermGen)保留的字符数为(C)
A.5
B.10
C.15
D.20
解析:
Str1在常量池里,不属于Heap空间
substring实际是new,5字符
str3和4也都是new,每个5字符
分别都会创建新的对象
常量池是PermGen的
因此应该是一共15字符
24. Test.main()函数执行后的输出是(B )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class Test {
public static void main(String[] args) {
System.out.println(new B().getValue());
}
static class A {
protected int value;
public A (int v) {
setValue(v);
}
public void setValue(int value) {
this.value= value;
}
public int getValue() {
try {
value ++;
return value;
} finally {
this.setValue(value);
System.out.println(value);
}
}
}
static class B extends A {
public B () {
super(5);
setValue(getValue()- 3);
}
public void setValue(int value) {
super.setValue(2 * value);
}
}
}
A.6 7 7
B.22 34 17
C.22 74 74
D.11 17 34