SCWCD模拟试题:310-081考题解析

需积分: 3 1 下载量 102 浏览量 更新于2024-08-02 收藏 2.59MB PDF 举报
"scwcd复习题310-081.tk - 一个包含254个问题的SCWCD(Sun Certified Web Component Developer for the Java 2 Platform, Enterprise Edition 1.4)考试题库,专注于jsp和servlet的复习。" 在SCWCD考试(310-081)中,主要考察的是Java Web开发中的关键概念和技术,包括JSP(JavaServer Pages)和Servlet等。以下是对两个示例问题的详细解释以及相关知识点: **问题1:** 这个问题涉及到Java中的匿名内部类和构造器。题目中提到了两种适配器类(AnAdapter0和AnAdapter1),以及一个接口(Interface)。Java语言规定,匿名内部类创建时必须有对外部类的引用,或者调用外部类的构造器。对于AnAdapter0,它有一个无参构造器,所以可以不带参数地创建匿名内部类实例。而对于AnAdapter1,没有无参构造器,但有一个接受一个int参数的构造器,因此创建匿名内部类时必须提供参数。因此,正确的选项是B和D。 A. AnAdapter1aa = new AnAdapter1(){} // 错误,因为AnAdapter1需要一个int参数 B. AnAdapter0aa = new AnAdapter0(){} // 正确,AnAdapter0有无参构造器 C. AnAdapter0aa = new AnAdapter0(5){} // 错误,AnAdapter0的匿名内部类不需要参数 D. AnAdapter1aa = new AnAdapter1(5){} // 正确,AnAdapter1需要一个int参数 **问题2:** 这个问题涉及到Java继承和方法覆盖。类A有一个toString()方法,返回"4";类B继承自类A,并覆盖了toString()方法,返回父类的toString()结果加上"3"。在Test类的main方法中,创建了一个B类的对象并打印其toString()结果。 ```java 14. System.out.println(new B()); ``` 根据代码,当调用new B()的toString()时,会执行类B的toString()方法,因为这是对子类对象的引用。由于B重写了A的toString(),所以会先调用A的toString()(super.toString()),得到"4",然后加上"3",最终结果应该是"43"。 A. 编译成功且打印4 // 错误,因为实际打印的是"43" B. 编译……打印 // 不完整,无法评估 C. 在第9行引发编译错误 // 错误,代码没有语法错误 D. 一个错误 // 错误,代码可以正常运行并打印"43" 问题1的答案是B和D,问题2的运行结果是"43"。这两个问题测试了Java中的匿名内部类、构造器使用、继承和方法覆盖等核心概念。对于准备SCWCD考试的人员来说,理解和掌握这些知识是非常重要的。