Java SE 5 Programmer Certification Exam (1Z0-853) Practice Quest...

需积分: 10 3 下载量 113 浏览量 更新于2024-07-30 收藏 7.81MB PDF 举报
"2011SCJP真题包含的是2011年底的Sun Certified Java Programmer (SCJP)考试的真题,适用于准备这个认证考试的考生。文件中提供了多个选择题,涵盖Java编程的不同方面,如继承、访问修饰符、数组初始化等核心概念。" 在Java编程中,SCJP认证是验证个人对Java Standard Edition (SE) 5程序员知识的测试。题目1涉及类的继承和方法重写。给定的代码片段展示了`classOne`有一个公共方法`foo()`,而`classTwo`是`classOne`的子类。要正确完成`classTwo`,可以在子类中插入的方法有: A. `public void foo(){/*morecodehere*/}` - 这是正确的,因为子类可以覆盖父类的公共方法。 B. `private void foo(){/*morecodehere*/}` - 错误,因为`private`方法在子类中不可见。 C. `protected void foo(){/*morecodehere*/}` - 正确,`protected`方法在子类中可见,允许覆盖。 D. `int foo(){/*morecodehere*/}` - 错误,因为这改变了返回类型,不是有效的方法重写。 E. `void foo(){/*morecodehere*/}` - 正确,这会再次声明公共`void foo()`方法,也是有效覆盖。 题目2关注静态数组的初始化。在Java中,静态数组可以在声明时或者在静态初始化块中初始化: A. `static final int[] a={100,200};` - 正确,这是声明并初始化一个静态常量数组的正确方式。 B. `static final int[] a; static {a=new int[2];a[0]=100;a[1]=200;}` - 正确,使用静态初始化块初始化数组。 C. `static final int[] a; static void init(){a=new int[3];a[0]=100;a[1]=200;}` - 错误,静态初始化应该在静态块中,而不是在单独的方法中。 D. `static final int[] a=new int[2]{100,200};` - 错误,语法错误,应该去掉大括号,并用逗号分隔元素。 题目3没有提供完整的代码,但从上下文可以推断,它可能涉及对象引用和内存管理。`Aa1`, `Aa2`, 和 `Aa3` 是类 `A` 的实例。通常,这样的问题会询问这些引用是否指向同一个对象,或者它们如何影响彼此的内存状态。 这些题目体现了SCJP考试的典型风格,旨在测试考生对基础Java语法、类与对象、数组、访问控制以及内存管理的理解。备考SCJP时,考生需要深入学习这些概念,并通过实践来巩固。