发布时间 : 星期六 文章java复习更新完毕开始阅读40eb1c825ef7ba0d4a733be0
1.在Java中,负责对字节代码解释执行的是 A. 应用服务器 B. 虚拟机 C. 垃圾回收器 D. 编译器
2.定义字符串:String s1=\;对下面程序描述正确的是: if(s1==\
System.out.println(\}else{
System.out.println(\}
A. 输出 s1 !=hello B. 编译正确,运行错误 C. 产生编译错误 D. 输出 s1=hello
3. 你怎样强制对一个对象立即进行垃圾收集? A. 调用 System.gc()
B. 调用System.gc(), 同时传递要进行垃圾收集对象的引用 C. 给这个对象的所有引用设置一个新的值(例如null) D. 垃圾收集是不能被强迫立即执行
4. 已知如下代码 public class staTest1 { static int a=10; static{a=a+5;} public static void main(String[] args) { System.out.println(\ } static {a=a/3;} }
请问哪个情况是正确的?
A、4行与9行不能通过编译,因为缺少方法名和返回类型 B、9行不能通过编译,因为只能有一个静态初始化器 C、编译通过,执行结果为:x=5 D、编译通过,执行结果为:x=15
5.已知如下代码: public class Test { long a[] = new long[10]; public static void main ( String arg[] ) { System.out.println ( a[6] ); }
}
请问哪个情况是正确的? A 、 输出为 null. B 、 输出为 0. C 、 编译时出错 D 、 运行时出错
6 .已知如下代码: 1: class Example{ 2: String str;
3: public Example(){ 4: str= \ 5: }
6: public Example(String s){ 7: str=s; 8: } 9:}
10: class Demo extends Example{ 11: }
12: public class Test{ 13:public void f () {
14:Example ex = new Example(\ 15:Demo d = new Demo(\ 16:} }
哪句语句会导致错误? A 、 line 3 B 、 line 6 C 、 line 10 D 、 line 14 E 、 line 15 7.
import java.io.*; import java.util.*; public class foo{ public static void main (String[] args){ String s; System.out.println(\ } }
输出结果应该是:( )
A.代码得到编译,并输出“s=”
B.代码得到编译,并输出“s=null”
C.由于String s没有初始化,代码不能编译通过 D.代码得到编译,但捕获到 NullPointException异常
1B java程序运行在java虚拟机上,jvm 可移植性强 2D
==比较的是地址,“hello”是字符串常量,java中保存在专门的内存中,
String s1=\赋值时就是把字符常量区中的“hello”给了s1指着,所以s1==\比较的在同一内存中的东西,如还有String s2=\” java发现\”在字符常量区中已经有,也会再次给S2。
3D java中回收还是系统做,即便调用gc也是肯定立马回收 4C
Static{}静态代码块先于main函数执行 5C
Main方法是static的,所以他中的变量要不是就是方法自己的局部变量,要不就是static的类变量。题目中long a[] = new long[10]; 是类Test的实例变量。不能在main中直接用。要用则要改为static的。 6E
子类无法继承父类的构造函数。子类Demo继承了Example但是什么都没写所以就是有一个默认的无参构造函数。15行Demo d = new Demo(\是要用子类有一个字符串参数的构造函数,子类没有。(PS:子类的构造函数要用父类构造函数时是要用super(参数)的形式)
7C java String也是个对象 String s只是个声明,相当于在内存中的栈空间中有个s的引用(z指针),但是 需要如下方法 s = new String(“aaa”);才能再堆空间真的有string对象存在并用s指着。
写出下列代码输出结果: class Demo5{ {
System.out.println(\构造块\ }
public Demo5(){
System.out.println(\构造方法\ } {
System.out.println(\构造方法后的构造块\ }
static {
System.out.println(\静态代码块\ } }
public class Ex22 {
static {
System.out.println(\在主方法类中定义的代码块\ }
public static void main(String[] args){ new Demo5();
new Demo5(); } }
在主方法类中定义的代码块 4静态代码块 1构造块
3构造方法后的构造块 2构造方法 1构造块
3构造方法后的构造块 2构造方法
写出下列代码输出结果: public class ClassA {
int a ;
void callfun(){
System.out.println(\ }
void Test(){ a=100;
System.out.println(\ } }
public class ClassB extends ClassA{ void callfun(){
System.out.println(\ }
void Test(){ a=150;
System.out.println(\