【最新版】[0837]《面向对象程序设计》网上作业与课程考试复习资料(全)
- 格式:docx
- 大小:37.44 KB
- 文档页数:26
0837 20182单项选择题1、下列合法的JAVA标识符是(). B. +void. F. _black. -5.12class2、关于constructor,下列描述正确的是().class中的constructor不可省略.constructor在一个对象被new时执行.一个class只能定义一个constructor.constructor必须与class同名,但方法不能与class同名3、以下哪个方法用于定义线程的执行体?(). C. run().main().start().init()4、在JAVA程序中要使用一个变量,以下描述不正确的是().在JAVA程序中要使用一个变量,必须先对其进行声明.局部变量在使用之前可以不初始化,系统使用默认的初始值.变量不可以在其作用域之外使用.变量声明语句可以在程序的任何地方,只要在变量使用前就可以5、关于abstract(抽象),下列描述正确的是().声明抽象方法,大括号{ }可有可无.声明抽象方法不可写出大括号{ }.abstract修饰符可修饰字段、方法和类.抽象方法的body部分必须用一对大括号{ }包住6、方法resume()负责恢复以下哪类线程的执行?XXXX.通过调用stop()方法而停止的线程.通过调用sleep()方法而停止的线程.通过调用wait()方法而停止的线程.通过调用suspend()方法而停止的线程7、以下哪个赋值语句是不合法的?().double b = 2.0;.int c = 2;.long d = 2;.float a = 2.0;8、方法resume()负责恢复以下哪类线程的执行?().通过调用stop()方法而停止的线程.通过调用sleep()方法而停止的线程.通过调用suspend()方法而停止的线程.通过调用wait()方法而停止的线程9、欲构造ArrayList类的一个实例,此类继承了List接口,下列正确的代码是().ArraylList myList = new List();.ArrayList myList = new Object();.List myList = new List();.List myList = new ArrayList();10、以下哪个修饰符可用于定义成员常量?().static.final.abstract.No modifier can be used11、关于异常(Exception),下列描述错误的是(). A. 异常可以随便处理,而不是抛给外层的程序进行处理.如果某异常继承RuntimeException,则该异常可以不被声明.异常的基类为Exception,所有异常都必须直接或者间接继承它.异常可以用try{ . . .} catch(Exception e) { . . .}来捕获并进行处理12、执行完以下代码int[ ] x = new int[25];后,以下描述正确的是().x[25]为0.x[24]未定义.x[0]为空.x[24]为013、下列关于修饰符的描述,错误的是().abstract不能与final并列修饰同一个类.abstract类中可以有private的成员。
《面向对象程度设计》课程知识复习学习材料试题与参考答案一、单选题1.下列(C)的调用方式是引用调用。
A.形参和实参都是变量B.形参是指针,实参是地址值C.形参是引用,实参是变量D.形参是变量,实参是地址值2.假定CTest为一个类,并且有一无默认值的的有参构造函数和一无参构造函数,则执行“CTest objTest;”语句时将自动调用该类的(B)。
A.有参构造函数B.无参构造函数C.复制构造函数D.赋值构造函数3.假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a 的值,x为该类的一个对象,则访问x对象中数据成员a的格式为(D)。
A.x.aB.x.a()C.x->GetValue()D.x.GetValue()4.C++编译系统确定调用是具体对象的过程称为关联。
C++有(B)关联。
A.1种B.2种C.3种D.4种5.下面有关重载函数的说法中正确的是(C)。
A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同6.如果表达式a==b中的“==”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为(C)。
A.a.operator==(b)B.b.operator==(a)C.operator==(a,b)D.operator==(b,a)7.下列对继承关系的描述中,(D)是正确的。
A.在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的;B.在公有继承中,基类中只有公有成员对派生类的对象是可见的;C.在私有继承中,基类中只有公有成员对派生类是可见的;D.在私有继承中,基类中的保护成员对派生类的对象是可见的;8.定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为(A)。
A.int *p=new int[30];B.int *p=new int(30);C.int *p=new [30];D.*p=new int[30];9.在一个类中可以对一个运算符进行(D)重载。
(0837)《面向对象程序设计》网上作业题及答案1:[单选题]执行下列语句后,变量x的值是:()int x = 7, y = 10;switch (x / y) {case 0:x++;case 7:x *= y;case 14:x += y;break;default:x %= y;}A:8B:70C:80D:90参考答案:D2:[单选题]以下由for语句构成的循环的执行次数是:()for (int i=0; i<=0; i=i) ;A:有语法错,不能执行B:一次也不执行C:执行1次D:无限次参考答案:D3:[单选题]设有定义int i=7;char ch='b'; 下面赋值语句中不正确是:()A:i = ch;B:ch = i;C:ch = (char)i;D:i = (int)ch;参考答案:B4:[单选题]设有定义int i=80, j=7; double d=80.7;下列语句中正确的赋值语句是:()A:i = d;B:i = (int)d + j;C:j = (int)i - d;D:i + j = (int)d;参考答案:B5:[单选题]以下关于Java语言的叙述错误的是:()A:Java是最纯粹的面向对象语言,对面向对象方法学的支持也最全面B:Java是解释执行的语言,由Java解释器负责将Java源文件解释为机器码执行C:Java是平台无关的,即Java程序不用修改就可以在不同类型的计算机平台上运行D:Java提供了大量功能丰富的可重用类库,有效减少了编程的工作量参考答案:B6:[单选题]下列选项中,用于声明实现一个接口关键字是:()A:interfaceB:implementsC:importD:abstract参考答案:B7:[单选题]Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序“一次编写,到处运行”的特点:()A:多线程B:与平台无关C:面向对象D:分布式参考答案:B8:[单选题]下列不属于Java语言关键字的是:()A:repeatB:tryC:breakD:new参考答案:A9:[单选题]下列字符序列中可以作为Java语言标识符的是:()A:trueB:123_xyzC:x.yD:_x123参考答案:D10:[单选题]下列字符序列中不能作为Java语言标识符的是:()A:abc_123B:圆周率PIC:falseD:_123abc参考答案:C1:[单选题]下列语句序列给出了k,myArr和myMethod()的声明。
面向对象程序设计1. 代码public class Test {public int aMethod() {static int i = 0;i++;return i;}public static void main (String args[]) {Test test = new Test();test.aMethod();int j = test.aMethod();System.out.println(j);}}输出结果为编译失败,static用来修饰全局变量,不能修饰局部变量2. 下面的程序中,temp的最终值是1long temp=(int)3.9;temp%=2;3.在J2EE中属于Web层的组件有:Servlet4. 派生类中的成员不能直接访问基类中的private成员。
5.以public修饰的类如:public class Car{…}则Car可被其它程序包中的类使用6.paint( )方法使用 Graphics 类型的参数7. 下面数据插入语言(DIL)不属于SQL语句的子类8. 实现运行时的多态性要使用虚函数。
9. 创建对象时构造函数被调用10. 如下代码:class Base {Base() { System.out.print(“Base”); }}public class Alpha extends Base {public static void main( String[] args ) {new Alpha();-----调用父类无参的构造方法new Base();}}结果是BaseBase。
11.如果希望控件在界面上按表格行分列排列,应使用GridLayout布局管理器12. 声明抽象方法不可写出大括号叙述正确13. 线程交互中不提倡使用stop()方法14.当检索一个压缩文件时,首先要建立压缩文件输入流对象,该对象以 FileInputStream 对象为参数15.jsp指令中isELIgnored="boolean"的意思是决定是否支持EL表示。
1.对象(1)从概念层面讲,对象是某种拥有责任的抽象。
(2)从规格层面讲,对象是一系列可以被其他对象使用的公共接口。
(3)从语言实现层面讲,对象封装了代码和数据。
2.软件开发中的经典阶段:需求、分析、设计、规范、实现、测试、部署、维护。
3.设计7原则:开闭原则、里氏代换原则、依赖倒转原则、合成/聚合复用原则、迪M特原则、接口隔离原则、单一职责原则。
4.面向对象的方法学:UML(统一建模语言)、RUP(统一软件开发过程)、XP(极限编程)。
开发方法:Booch、Coad、OMT、UML、OOSE、Wirfs—Brock 5.OOA——运用面向对象方法进行需求分析。
OOD——运用面向对象方法进行系统设计。
OOP——运用面向对象方法进行程序设计。
6.OOA的基本任务:是运用面向对象的方法,对问题域和系统责任进行分析和理解,对其中的事物和它们之间的关系产生正确的认识,找出描述问题域及系统责任所需的类及对象,定义这些类和对象的属性和操作,以及它们之间所形成的结构、静态联系和动态联系。
最终目的:是产生一个符合用户需求,并能够直接反映问题域和系统责任的OOA模型及其详细说明。
优点:(1)加强了对问题域和系统责任的理解。
(2)改进与分析有关的各类人员之间的交流。
(3)对需求的变化具有较强的适应性。
(4)支持软件复用。
OOA的三大策略是:属性策略、方法策略、对象策略。
7.(1)封装:是指对象在其操作中隐藏属性。
它是一种信息隐蔽技术,用户只能看见对象封装界面上的信息,对象的内部实现对用户是隐蔽的。
封装的目的是使对象的使用者和生产者分开,使对象的定义和实现分开。
例如:要从同事那里借钱,在商店购买食物,就不会抢夺同事的钱包,大翻一通,看看里面是否有足够的钱。
而应该询问他们是否可以借你一些钱,他们就会自己翻钱包。
以表示圆的一个对象作为封装的例子。
圆的操作应能计算出半径、直径、周长和面积。
假定选择存储直径,要访问直径的程序员都会选择存储直径属性,而不是通过“获取直径”的操作来访问。
面向对象程序设计复习资料(一)单项选择题1.Java是一门()语言。
A. 机器B. 汇编C. 面向过程的高级D. 面向对象的高级2. 具有相同属性和服务的一组对象的共同模板称为()。
A. 程序B. 类C. 代码D. 概念3.在Java程序中包含主方法的类被称为主类,主方法的访问控制修饰符为()。
A. privateB. protectedC. publicD. static4.Java语言中的switch语句属于()语句。
A. 数据输入B. 数据输出C. 分支处理D. 循环控制5.在类的定义中,实现接口的子句所使用的关键字为()。
A. extendsB. implementsC. publicD. abstract6.在派生类的定义中,继承父类的子句所使用的关键字为()。
A. extendsB. implementsC. publicD. abstract7.下列能表示栈(stack)s1长度的是( )。
A.s1.length()B.s1.lengthC.s1.sizeD.s1.size()8.下面的异常()为文件没有找到异常。
A. NullPointerExceptionB. FileNotFoundExceptionC. ArrayIndexOutOfBoundsExceptionD. IOException9.下列不是InputStream 类的子类的是()。
A. FileInputStreamB. ObjectInputStreamC、 FileOutputStream D. DataInputStream10.进行文件输入输出操作时,最常用的系统包是()。
A. B. java.ioC. java.utilD. java.awt11.类是对具有共同属性和行为的对象的抽象描述,每个对象称为该类的一个()。
A. 产品B. 元素C. 成分D. 实例12.使用JDK运行Java程序时使用的命令是()。
【D】1、下列Java表达式,错误的是()A. long j = 8888;B. String str = String("bb");C. char c = 74;D. int k = new String("aa");解析:String类型转换成int类型应用Integer.praseInt("123")且字符必须为纯数字【B】2、下列合法的Java标识符是()A. E. +voidB. _blackC. -5D. 12class解析:JAVA标识符不能是数字、符号、特殊符号开头【B】3、关于constructor,下列描述正确的是()A. class中的constructor不可省略B. constructor在一个对象被new时执行C. 一个class只能定义一个constructorD. constructor必须与class同名,但方法不能与class同名解析:constructor(构造器) 构造函数,不定义的情况下在编译代码阶段会自动在当前类增加无参构造函数故A错误一个class(类)可以有多个构造函数,如有一个参数的有多个参数的或无参的都可以故A错误方法可以随意命名,只要不是java保留字故D错误【A】4、以下哪个方法用于定义线程的执行体?()A. F. run()B. main()C. start()D. init()解析:init初始化线程start就绪线程run运行线程main是主体函数【C】5、编译一个定义了两个类和三个方法的Java源文件,产生字节码文件的个数和扩展名是()A. 5个字节码文件,以".java"为扩展名B. 5个字节码文件,以".class"为扩展名C. 2个字节码文件,以".class"为扩展名D. 2个字节码文件,以".java"为扩展名解析:java字节码都是二进制,所以AB错误一个类生成一个字节码文件与方法无关方法是类的成员另外需要注意如果存在内部类有几个内部类则生成几个字节码文件【B】6、下列程序的执行结果是()public class Test {public static void main(String args[]) {try {return;}finally {System.out.println("Finally");}}}A. B. 程序无输出B. 程序输出"Finally"C. 因为缺少catch块,所以编译出错D. 代码可以通过编译,但执行时产生异常解析:无论try catch块执行到什么位置,在程序执行结束前会先执行finally块;故选B【D】7、设有两个类A和B,以下描述中表示B继承自A的是()A. class A implements BB. class A extends BC. class B implements AD. class B extends A解析:集成关键字为extends 故A C错误类1 extends 类2 类1:表示子类类2:表示父类固定搭配所以B错误【B】8、下列程序的运行结果是()import java.awt.*;public class Test extends Frame {public Test(){add(new Label("Hello"));add(new TextField("Hello"));add(new Button("Hello")); //第6行pack();setVisible(true);}public static void main(String[]args){new Test();}}A. 在第6行抛出一个IllegalArgumentException异常B. 显示一个窗口,仅包含一个按钮C. 出现一个空窗口D. 代码编译不通过解析:label是标签无作用button是按钮textField是文本框窗体中有内容C错误代码能正常执行D错误pack();没有抛出异常A错误【B】9、关于Java程序中要使用的一个变量,以下描述不正确的是()A. 在Java程序中要使用一个变量,必须先对其进行声明B. 局部变量在使用之前可以不初始化,系统使用默认的初始值C. 变量不可以在其作用域之外使用D. 变量声明语句可以在程序的任何地方,只要在变量使用前就可以解析:变量使用原则:1、声明变量例:String s;s即为声明的变量引用类型为String2、赋值变量s="bianliang"; 即为初始化【B】10、关于abstract(抽象),下列描述正确的是()A. 声明抽象方法,大括号{ }可有可无B. 声明抽象方法不可写出大括号{ }C. abstract修饰符可修饰字段、方法和类D. 抽象方法的body部分必须用一对大括号{ }包住解析:接口不能有具体内容,抽象方法可以【A】11、()修饰符所定义的方法必须被子类所覆盖。
西南大学培训与继续教育学院课程考试试题卷学期:2020年秋季课程名称【编号】:面向对象程序设计【0837】 A卷考试类别:大作业满分:100分一、单项选择题(共10小题,3分/题,共30分)1.B2.D3.B4.B5.D6.A7.D8.C9.D10.C二、程序分析题(共4小题,每小题各10分,共40分)1.程序运行输出结果是1 2 6 24 1202.程序运行输出结果是fedcba98765432103. (1)Child是Parent的子类(2)super指对象的父类;this指使用它的对象本身(3)这段程序的输出结果是parent child4. (1):Java程序分为Java应用和Java小应用程序;这段程序是Java小应用程序。
(2):界面上包含一个标签,一个按钮和一个文本框;点击按钮后,文本框内显示“好好学习,天天向上”。
(3):ActionListener是动作事件监听器接口;方法actionPerformed()是ActionListener中的方法;其功能是处理applet界面里发生的动作事件。
三、程序设计题(共1小题,共30分)编写一个简单的乘法器,界面如下图所示,在第一个文本框中输入第一个乘数;在第二个文本框中输入第二个乘数;当单击“=”按钮时,在第三个文本框中输出其乘积。
import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Multiply extends JFrame implements ActionListener{private JButton operator = new JButton(\" * \");private JTextField input1 = new JTextField(5);private JTextField input2 = new JTextField(5);private JButton equal = new JButton(\" = \");private JTextField result = new JTextField(5);public Multiply () {Container c = getContentPane();c.setLayout(new FlowLayout());c.add(input1);c.add(operator);c.add(input2);c.add(equal);c.add(result);equal.addActionListener(this);}public void actionPerformed(ActionEvent e) {。
《面向对象程序设计》复习题1、(C++的输入输出)天猫优惠券,我就要券定义一个函数max,实现输入两个数a、b,比较并从小到大输出。
2、(函数的重载)(1)定义一个带两个参数的函数max,输出最大值。
(2)再定义一个带三个参数的函数max,输出最大值。
(3)主函数测试之。
3、(有默认参数的函数)将题2用带默认参数的函数实现。
4、(变量的引用)(1)定义一个swap1函数,以普通形参传入两个变量a、b,互换a、b的值。
(2)定义一个swap2函数,以指针形参传入两个变量a、b,互换a、b的值。
(3)定义一个swap3函数,以引用形参输入两个变量a、b,互换a、b的值。
(4)主函数定义两个变量x、y传入三个函数,观察x、y值前后的变化。
5、(类的定义)定义一个student类,数据成员包括:学号num,姓名name,年龄age,性别sex,成员函数包括:(1) set函数,键盘输入学号,姓名,年龄,性别(2) display函数,输出学生信息。
6、(构造函数和析构函数)定义一个student类,数据成员包括:学号num,姓名name,年龄age,性别sex,成员函数包括:(1)构造函数,初始化学号,姓名,年龄,性别(2)display函数,输出学生信息。
(3)析构函数,输出学生学号。
(4)主函数定义多个对象,并注意构造函数和析构函数的调用顺序。
7、(构造函数的重载)在题6基础上增加一个默认构造函数,实现构造函数的重载8、将题6用带默认参数的构造函数实现。
9、(对象数组和对象的动态建立及释放)在题8基础上,实现如下主函数:(1)在主函数中定义一个包含三个学生的数组,并初始化之。
(2)在主函数中定义一个student类指针p并用new运算符分配动态内存(3)用delete删除p指向的动态内存。
(4)观察构造函数和析构函数的调用。
10、(复制构造函数)在题8基础上新增加一个复制构造函数,并主函数新增复制构造对象。
《面向对象程序设计》课程期末复习资料《面向对象程序设计》课程讲稿章节目录:第一章、C++基础(16个知识点)01 计算机求解问题的过程02 编程的步骤03 程序设计方法04 程序设计基本概念05 C++程序集成开发环境简介06 C++程序实例07 C++源程序的组成08 C++源程序的组成元素09 C++与C的主要差异–符号常量和标准输入输出流10 C++与C的主要差异–联函数11 C++与C的主要差异–带默认形参值的函数12 C++与C的主要差异–函数重载13 C++与C的主要差异–动态存分配和释放14 C++与C的主要差异–动态存分配和释放程序实例15 C++与C的主要差异–引用和返回引用的函数16 C++与C的主要差异–函数的引用调用第二章、面向对象方法(27个知识点)01 面向对象方法基本概念–对象、类、实例和消息02 面向对象方法基本概念–封装、继承和多态03 类的定义04 构造函数05 对象的定义和访问06 对象的定义和访问程序实例07 类成员的访问控制08 类成员的访问控制程序实例09 析构函数11 类声明和类实现的分离12 类的常量成员13 类的静态数据成员14 类的静态成员函数15 this指针16 类的友元17 类的对象成员–基本概念18 类的对象成员–对象成员的声明、初始化和访问19 自定义类的运算符重载概述20 类成员函数形式的运算符重载21 类友元形式的运算符重载22 赋值运算符和下标运算符重载程序实例23 类设计实例24 面向对象方法程序实例–类和对象的基本定义、构造函数和析构函数25 面向对象方法程序实例–静态成员和多文件结构26 面向对象方法程序实例–友元和运算符重载27 面向对象方法程序实例–对象成员第三章、继承与多态(17个知识点)01 继承概述02 派生类定义03 派生类构造函数和析构函数04 派生类构造函数和析构函数程序实例05 函数重定义和派生类的继承方式06 多重继承下的派生类定义07 多重继承中的二义性问题08 虚拟继承和虚基类09 类型兼容10 多态性的概念和实现原理11 虚函数13 纯虚函数和抽象类14 继承与多态程序实例–派生类定义和函数重定义15 继承与多态程序实例–多重继承16 继承与多态程序实例–虚拟继承和虚函数17 继承与多态程序实例–抽象类和纯虚函数第四章、输入输出流(16个知识点)01 输入输出流概述02 输入输出流对象03 输入输出流的插入和提取运算符04 输入输出流的插入和提取运算符程序实例05 输入输出流的put函数06 输入输出流的get函数07 输入输出流的getline函数08 输入输出流的write函数09 输入输出流的read函数10 输入输出流的write、read函数程序实例11 文件随机读写概述和相关函数12 文件随机读写程序实例13 自定义类型数据的标准输入输出和文本文件输入输出14 自定义类型数据的二进制文件输入输出15 输入输出流程序实例–输入输出流操作16 输入输出流程序实例–插入运算符和提取运算符重载第五章、模板(7个知识点)01 函数模板的定义和使用02 函数模板程序实例03 类模板的定义04 类模板的使用05 类模板的静态成员06 模板程序实例–函数模板07 模板程序实例–类模板一、客观部分:(单项选择、多项选择、不定项选择、判断)(一)、选择部分1、面向对象方法的基本观点是一切系统都是由( C )构成的。
[0837]《面向对象程序设计》第一次作业[单选题]Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序"一次编写,到处运行”的特点:()A:多线程B:与平台无关C:面向对象D:分布式参考答案:B[单选题]以下关于Java语言的叙述错误的是:()A:Java是最纯粹的面向对象语言,对面向对象方法学的支持也最全面B:Java是解释执行的语言,由Java解释器负责将Java源文件解释为机器码执行C:Java是平台无关的,即Java程序不用修改就可以在不同类型的计算机平台上运行D:Java提供了大量功能丰富的可重用类库,有效减少了编程的工作量参考答案:B[单选题]设有定义 int i=80, j=7; double d=80.7;下列语句中正确的赋值语句是:()A:i = d;B:i = (int)d + j;C:j = (int)i - d;D:i + j = (int)d;参考答案:B[单选题]下列字符序列中不能作为Java语言标识符的是:()A:abc_123B:圆周率PIC:falseD:_123abc参考答案:C[单选题]设有定义 int i=7;char ch='b'; 下面赋值语句中不正确是:()A:i = ch;B:ch = i;C:ch = (char)i;D:i = (int)ch;参考答案:B[单选题]下列不属于Java语言关键字的是:()A:repeatB:tryC:breakD:new参考答案:A[单选题]以下由for语句构成的循环的执行次数是:()for (int i=0; i<=0; i=i) ;A:有语法错,不能执行B:一次也不执行C:执行1次D:无限次参考答案:D[单选题]执行下列语句后,变量x的值是:()int x = 7, y = 10;switch (x / y) {case 0:x++;case 7:x *= y;case 14:x += y;break;default:x %= y;}A:8B:70C:80D:90参考答案:D[单选题]下列选项中,用于声明实现一个接口关键字是:()A:interfaceB:implementsC:importD:abstract参考答案:B[单选题]下列字符序列中可以作为Java语言标识符的是:()A:trueB:123_xyzC:x.yD:_x123参考答案:D第二次作业[单选题]下列关于构造方法的说法中,不正确的是:()A:构造方法用于创建类的实例B:构造方法不可以重载C:构造方法不具有返回值类型D:构造方法名必须和类名相同参考答案:B[单选题]下列构造String的语句中,不正确的是:()A:String str2 = "" ;B:String str1 = new String( );C:String str4 = "" + 123;D:String str3 = new String(123);参考答案:D[单选题]下列语句序列给出了k,myArr和myMethod()的声明。
当调用方法myMethod(myArr,k)之后,存储在k和myArr里的值分别是:()int k = 7;String myArr[] = { "love", "peace", "and" };void myMethod(String a[], int m) {String temp = a[1];a[1] = a[2];a[2] = temp;m = a[2].length();}A:{"peace","love","and"},4B:{"peace","love","and"},7C:{"love","and","peace"},5D:{"love","and","peace"},7参考答案:D[论述题]写出下面程序的执行结果。
public class Intern {public static void main(String[] args) {String s1 = "123456"; // 字符串直接量String s2 = "123456"; // 字符串直接量String s3 = "123" + "456";String a0 = "123";String s4 = a0 + "456"; // 这不是字符串直接量String s5 = new String("123456"); // 这不是字符串直接量String s6 = s5.intern( );System.out.println("s2" + ((s2==s1) ? "==" : "!=") +"s1"); System.out.println("s3" + ((s3==s1) ? "==" : "!=") +"s1"); System.out.println("s4" + ((s4==s1) ? "==" : "!=") +"s1"); System.out.println("s5" + ((s5==s1) ? "==" : "!=") +"s1"); System.out.println("s6" + ((s6==s1) ? "==" : "!=") +"s1"); }}参考答案:答:输出为s2==s1s3==s1s4!=s1s5!=s1s6==s1[单选题]既能作为类的修饰符, 也能作为类成员的修饰符的是()A:publicB:extendsC:voidD:static参考答案:A[论述题]下面程序的执行结果是什么?class Test {public static void main(String[] args) {int sum = 0;outer:for(int i=1; i<10; i++) {inner:for(int j=1; j<3; j++) {sum += j;if (i+j > 6)continue inner;}}System.out.println("sum=" + sum);}}参考答案:答:sum=27[单选题]下列语句序列执行之后,b1,b2,b3,b4的值分别是:()String s1 = "peace";String s2 = new String(s1);String s3 = s2;String s4 = new String("PEACE");boolean b1 = (s1 == s2);boolean b2 = s1.equals(s2);boolean b3 = (s3 == s2);boolean b4 = s4.equals(s3);A:true,true,false,falseB:false,true,true,trueC:false,true,true,falseD:false,true,false,false参考答案:C第三次作业[单选题]把容器划分为东、西、南、北、中5个区域的布局管理器是:()A:BoxLayoutB:FlowLayoutC:CardLayoutD:BorderLayout参考答案:D[单选题]Swing的三个顶层容器分别是:()A:JApplet,JPanel,JWindowB:JDialog,JApplet,JFrameC:JApplet,JFrame, JMenuD:JFrame,JPanel,JTextArea参考答案:B[单选题]下列关于Java小应用程序(Applet)的说法中,正确的是:()A:java.applet.Applet类是所有Java小应用程序的基类B:Java小应用程序不需要编译C:Java小应用程序也需要main()方法D:Java小应用程序必须实现ActionListener接口参考答案:A[单选题]从开始执行到执行结束,小应用程序经历的3个状态分别是:()A:初始态、就绪态,结束态B:就绪态、运行态,停止态C:初始态、运行态,停止态D:就绪态、运行态,休眠态参考答案:C[论述题]阅读下面的程序,写出输出结果。
class Parent {// 静态变量public static String p_StaticField = "父类--静态变量";// 变量public String p_Field = "父类--变量";// 静态初始化块static {System.out.println(p_StaticField);System.out.println("父类--静态初始化块");}// 初始化块{System.out.println(p_Field);System.out.println("父类--初始化块");}// 构造器public Parent() {System.out.println("父类--构造器");}}public class SubClass extends Parent {// 静态变量public static String s_StaticField = "子类--静态变量"; // 变量public String s_Field = "子类--变量";// 静态初始化块static {System.out.println(s_StaticField);System.out.println("子类--静态初始化块");}// 初始化块{System.out.println(s_Field);System.out.println("子类--初始化块");}// 构造器public SubClass() {System.out.println("子类--构造器");}// 程序入口public static void main(String[] args) {new SubClass();}}参考答案:1、父类--静态变量2、父类--静态初始化块3、子类--静态变量4、子类--静态初始化块5、父类--变量6、父类--初始化块7、父类--构造器8、子类--变量9、子类--初始化块10、子类--构造器[论述题]下面的程序错在哪里?如何修改?class SuperClass {}class SubClass extends SuperClass {}class Test {public static void main(String[] args) {SuperClass a = new SuperClass();SubClass b = new SubClass();b = (SubClass)a;}}参考答案:答:b = (SubClass)a;这一句无法通过编译。