内容发布更新时间 : 2024/12/24 2:38:57星期一 下面是文章的全部内容请认真阅读。
A. 程序员必须创建一个线程来释放内存; B. 内存回收程序负责释放无用内存;
C. 内存回收程序允许程序员直接释放内存;
D. 内存回收程序可以在指定的时间释放内存对象。
18、 创建一个名为“MyClass.java”的文件,该文件中只有一个可被整个工程中的所有类访问的类,那么该类的正确声明应为:( C ) A. private class MyClass extends Object B. class TestClass extends Object C. public class MyClass D. public class TestClass
19、 下列叙述中,错误的是( A )
A. 内部类的名称与定义它的类的名称可以相同 B. 内部类可用abstract修饰 C. 内部类可作为其他类的成员 D. 内部类可访问它所在类的成员
20、 用于在子类中调用被重写的父类方法的关键字是( B ) A. this B. super C. This D. Super
21、 下面程序输出结果是( A ) public class Delta {
static boolean foo(char c) { System.out.print(c); return true; }
public static void main( String[] argv ) { int i =0;
for ( foo('A'); foo('B')&&(i<2); foo('C')){ i++ ; foo('D'); } } }
A. ABDCBDCB B. ABCDABCD C. 编译错误 D. 运行时异常 二、 程序阅读题
1、 写出以下程序的运行结果: class Egg {
protected class Yolk { public Yolk() {
System.out.println(\
} }
private Yolk y; public Egg() {
System.out.println(\Egg()\y = new Yolk(); } }
public class BigEgg extends Egg { public class Yolk { public Yolk() {
System.out.println(\} }
public static void main(String[] args) { new BigEgg(); } }
运行结果: New Egg() Egg.Yolk()
2、 写出以下程序的结果: public class Test {
private static void printArray(int[] arr) { for(int i=0;i< arr.length;i++) System.out.print(arr[i]+”,”); System.out.println(“\\n”); }
private static void changeValue(int value) { value*=2; }
private static void changeValue(int[] arr) { for(int i=0;i public static void main (String[] args) { int[] arr={1,2,3,4,5}; changeValue(arr[0]); printArray(arr); changeValue(arr); printArray(arr); } } 运行结果: 1,2,3,4,5, 2,4,6,8,10, 3、 指出以下程序的错误,并改正: public class Main { public static final A obj = null; public static void main(String[] args) { obj = new A(); } } class A{ } 错误:final的对象不能改变。 4、 指出以下程序的错误,并改正: public class Test { public static void main(String[] args) { MyClass obj=new MyClass(); obj.Info+=”,World!”; System.out.println(obj.Info); } } class MyClass { public String Info=”Hello”; public MyClass(String Info) { this.Info=Info; } } 错误: MyClass obj=new MyClass();找不到匹配的构造方法。 5、 指出下面程序的错误,并改正: abstract class Animal { public abstract void saySomething() { System.out.println(“你想说什么就说吧!”); } } class Dog extends Animal { public void saySomething() { System.out.println(“我现在有了第二职业:捉耗子!”); } } public class Test { public static void main (String[] args) { Animal ani=new Dog(); ani.saySomething(); } } 错误:public abstract void saySomething()抽象方法不能有方法体。 三、 简答题(略) 四、 综合编程题(略) 第四章 异常和断言 一、 选择题 1、 以下哪两个是Throwable的直接子类?( AC ) A. Error B. NullPointerException C. Exception D. Assert 2、 能单独和finally块一起使用的块是( A ) A. try B. catch C. throw D. throws 3、 下列异常类中在多重catch中同时使用时,( C )异常类的catch块应该最后列出? A. NullPointerException B. ArithmeticException C. Exception D. ArrayIndexOutOfBoundsException 4、 程序读入用户输入的一个值,要求创建一个自定义的异常,如果输入值大于10,使用throw语句显式地引发异常,异常输出信息为\wrong!\语句为( C )。 A. if (i>10) throw Exception(\wrong!\B. if (i>10) throw Exception e (\wrong!\C. if (i>10) throw new Exception(\wrong!\D. if (i>10) throw new Exception e (\wrong!\5、 分析下列Java代码: class A{