




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA期末考试试卷与习题及答案汇总一、单项选择题1.下面哪个不是Java中的容器?BA、
ScrollPane B、Canvas C、Applet D、Dialog2.下面哪个方法及applet的显示无关?A
A、draw()
B、
update()
C、repaint()
D、paint()
3.以下哪个方法用于定义线程的执行体?
CA、
start() B、init() C、run() D、synchronized()
4.当Frame改变大小时,放在其中的按钮大小不变,则使用如下哪种布局方式?A
A、
FlowLayout
B、CardLayout
C、BorderLayout
D、GridLayout5.有如下代码段:1)2){if(unsafe()){//dosomething…}3)elseif(safe()){//dotheother…}4)}其中,方法unsafe()将抛出IOException,请问可将以下哪项填入第1行?DA、publicIOExceptionmethodName() B、publicvoidmethodName()C、publicvoidmethodName()throwIOExceptionD、publicvoidmethodName()throwsIOException6.以下哪个关键字可以用来对对象加互斥锁?BA、transient B、synchronizedC、serialize D、static7.编译并运行以下程序,以下描述哪个选项是正确的C1.classA{ 2. protectedbooleanequals(){ 3. returnsuper.equals();} 4. }A、编译通过运行无异常 B、编译通过但运行时出错C、行2出错,不能成功编译 D、不能成功编译,行3出错8.在使用interface声明一个接口时,只可以使用(D)修饰符修饰该接口。A、private B、protected C、privateprotected D、public9.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用(B)个比特位。A、8 B、16C、32 D、6410.在编写JavaApplet程序时,若需要对发生的事件作出响应与处理,一般需要在程序的开头写上(D)语句。A、importjava.awt.*;B、importjava.applet.*;C、importjava.io.*;D、importjava.awt.event.*;11.以下关于构造函数的描述错误的是(A)。A、构造函数的返回类型只能是void型。B、构造函数是类的一种特殊函数,它的方法名必须及类名相同。C、构造函数的主要作用是完成对类的对象的初始化工作。D、一般在创建新对象时,系统会自动调用构造函数。12.有程序如下,关于程序的描述哪个是正确的?(C)publicclassPerson{staticintarr[]=newint[10];publicstaticvoidmain(Stringa[]){System.out.println(arr[1]);}}A、编译将产生错误 B、编译时正确,但运行时将产生错误C、正确,输出0 D、正确,输出
null13.有语句Strings=”helloworld”;,以下操作哪个是不合法的?(B)A、inti=s.length();B、s>>>=3;C、Stringts=s.trim(); D、Stringt=s+”!”;14.给出如下代码:class
Test{
private
int
m;
public
static
void
fun()
{
//
some
code...
}
}如何使成员变量m
被函数fun()直接访问?(C)A、将private
int
m
改为protected
int
mB、将private
int
m
改为
public
int
mC、将private
int
m
改为
static
int
mD、将private
int
m
改为
int
m15.Javaapplication中的主类需包含main方法,main方法的返回类型是什么?(D)A、int B、float C、double D、void16.有以下方法的定义,请选择该方法的返回类型(D)。 ReturnTypemethod(bytex,doubley) { return(short)x/y*2; }A、byte B、short C、int D、double17.下列哪些语句关于Java内存回收的说明是正确的?(B)A、程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存C、内存回收程序允许程序员直接释放内存D、内存回收程序可以在指定的时间释放内存对象18.在编写JavaApplet程序时,若需要对发生的事件作出响应与处理,一般需要在程序的开头写上(D)语句。A、importjava.awt.*;B、importjava.applet.*;C、importjava.io.*;D、importjava.awt.event.*;19.容器Panel与Applet缺省使用的布局编辑策略是(B)A、BorderLayout B、FlowLayout C、GridLayout D、CardLayout20.设有下面两个赋值语句:a=Integer.parseInt(“123”);b=Integer.valueOf(“123”).intValue();下述说法正确的是(D)A、a是整数类型变量,b是整数类对象。B、a是整数类对象,b是整数类型变量。C、a与b都是整数类对象并且值相等。D、a与b都是整数类型变量并且值相等。21.编译并运行以下程序,以下描述哪个选项是正确的(C)。1.classA{2. protectedStringtoString(){3. returnsuper.toString();}4. }A、编译通过运行无异常 B、编译通过但运行时出错C、行2出错,不能成功编译 D、不能成功编译,行3出错22.有以下程序片段,下列哪个选项不能插入到行1。(D)1.2.publicclassInteresting{3.//dosth4.}A、importjava.awt.*; B、packagemypackage; C、classOtherClass{} D、publicclassMyClass{}23.以下哪个不是Java的关键字?(A)A、TRUE B、const C、super D、void24.关于以下application的说明,正确的是(C)。1. classStaticStuff2.{3. staticintx;4. static{x+=5;}5. publicstaticvoidmain(Stringargs[])6. {7. System.out.println(“x=”+x);8. }9. static{x/=5;}10.}A、4行及9行不能通过编译,因为缺少方法名与返回类型 B、9行不能通过编译,因为只能有一个静态初始化器C、编译通过,执行结果为:x=1D、能通过编译,但程序运行结果不可预知,因为变量x没有初始化25.FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型?BA、OutputStreamB、FileC、InputStreamD、BufferedOutputStream26.在使用interface声明一个接口时,只可以使用(D)修饰符修饰该接口。A、private B、protected C、privateprotected D、public27.有程序片段如下,以下哪个表示式的结果为true?(B)Floats=newFloat(0.1f);Floatt=newFloat(0.1f);Doubleu=newDouble(0.1);A、s==tB、s.equals(t)C、u.equals(s)D、t.equals(u)=========================================================1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。A.javaB.classC.htmlD.exe2、以下哪一个不是JAVA的标准数据流(D)。A.标准输出数据流B.标准输入数据流C.标准错误数据流D.标准运算数据流3、.class与.java文件的含义分别是:(A)A.Java目标码文件与源文件;B.Java可执行文件与目标码文件;C.Java源文件与目标码文件;D.Java源文件与Java平台配置文件;4、面板的边框有哪几种?(D)A.面板没有边框;B.仅有单线边框;C.仅有黑色的边框;D.面板缺省没有边框,但可以设置单线、斜坡、不光滑等多种线形,可以设置边框的颜色、宽度等,还可以设置边框及内容之间的举例等;5、以下几个命名方法,不符合Java命名规范的是:(D)A.类的名称:MyClassName;B.变量的名称:myArray;C.常量的名称:PI_VALUE;D.成员函数的名称:GetName;6、在下面的代码中,break语句的作用是:(C)for(inti=0;i<10;i++)if(aData[i]==TargetData){FoundID=i;break;}A.退出if程序块;B.退出此次循环,直接进入下一次循环;C.退出整个循环;D.退出整个函数;7、以下项中,不属于成员变量的定义部分的是:DA.访问级;B.变量名称;C.变量类型;D.变量的初始化方式;8、以下关于异常捕获的原则中,错误的是(D)ARuntimeException可以不被捕获,Java会自动处理运行期异常。B先列出子类,后列出父类。C先列出具体的异常类,后列出通用的异常类。DException类必须出现,而且必须作为catch块中第一个匹配的类。9、Java的一个重要特点是结构中立性,这种结构中立性表现在(C)A用Java编写的源程序无需编译,直接通过Java平台解释执行。BJava源程序在不同的硬件与操作系统下,直接编译成该硬件与操作系统能够运行的程序并运行。CJava源程序编译成一种结构中立的目标文件格式,再有Java平台在不同的硬件与操作系统下运行。DJava源程序编译成一种通用的可执行程序,现在的硬件与操作系统都支持这种通用的可执行程序。10、在Swing中,一下列出的面板的作用中,错误的是(C).放置并排列组件B显示背景图案;C接收事件;D显示面板的边框;11、.在Swing中,如何设置组件的边框?(C)A通过根窗格的setBorder函数设置某各组件的边框;B通过内容窗格的setBorder函数设置某各组件的边框;C通过组件的setBorder函数设置;D通过框架的setBorder函数设置某各组件的边框;12、以下关于框架与其他窗口之间的关系中,错误的是(D)A对话框必须依附于某个框架B当框架最小化时,所有依附于它的窗口也会最小化C框架是一个程序的主窗口,每个具有图形界面的程序都至少要有一个框架D内部框架也是顶级容器组件13、创建并显示框架的步骤中,错误的是(A)A将框架对象及入口类相连接B在框架中加如组件C创建一个框架对象D调用框架对象的setVisible函数显示框架14、如何在框架中显示标题?(C)A调用根窗格的setTitle函数显示B调用内容窗格的setTitle函数显示C调用框架对象的setTitle函数显示D调用框架对象的Border对象的setTitle函数显示15、下列关于Java语言的特点,描述错误的是(C)A.Java是跨平台的编程语言B.Java支持分布式计算C.Java是面向过程的编程语言D.Java支持多线程16、下述概念中不属于面向对象方法的是D___。A.对象、消息B.继承、多态C.类、封装D.过程调用17、结构化程序设计所规定的三种基本控制结构是(C)A.输入、处理、输出B.树形、网形、环形C.顺序、选择、循环D.主程序、子程序、函数18、以下声明合法的是(B)A.defaultStrings; B.publicfinalstaticnativeintw()C.abstractdoubled; D.AbstractfinaldoublehyperbolicCosine()19、Applet可以做下列哪些操作?CA.读取客户端文件B.在客户端主机上创建新文件C.在客户端装载程序库D.读取客户端部分系统变量20、下列关于for循环与while循环的说法中哪个是正确的?
c
A.while循环能实现的操作,for循环也都能实现
B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果
C.两种循环任何时候都可替换
D.两种循环结构中都必须有循环体,循环体不能为空====================================================================1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。A.javaC.htmlD.exe2、设x=1,y=2,z=3,则表达式y+=z--/++x的值是(A)。A.3B.3.5C.4D.53、在JavaApplet程序用户自定义的Applet子类中,一般需要重载父类的(D)方法来完成一些画图操作。A.start()B.stop()C.init()D.paint()4、不允许作为类及类成员的访问控制符的是(C)。A.publicB.privateC.staticD.protected5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。A.staticvoidmethod()B.publicvoidmethod()C.finalvoidmethod()D.abstractvoidmethod()*********************************************************************1、Java中复合数据类型不包括(D)A.类类型B.数组C.接口类型2、请从四个选项中选择答案,下列代码的执行结果是:(C)PublicclassTest{Publicstaticvoidmain(Stringargs[]){Floatt=9.0f;Intq=6;System.out.println((t++)*(--q));}}A.40B.40.0C.45.03、下列关于修饰符混用的说法,错误的是(D)A.abstract不能及final并列修饰同一个类B.abstract类中可以有非abstract的方法C.普通类(非abstract类)中不能有abstract方法D.static方法中能处理非static的属性4、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是(A)A.可以被该类自身、及它在同一个包中的其它类、在其它包中的该类的子类所访问B.只能被该类本身与该类的所有的子类访问C.只能被该类自身所访问D.只能被同一个包中的类访问5、x=2,y=3,z=4,则表达式z*=y++*--x的值是(A)A.126、以下赋值语句正确的是(D)A.charc1=”a”B.floatf1=3.22C.byteb1=266D.longL1=0xAC8L7、Java不支持多重继承,但我们可以通过(B)实现A.多态B.接口8.已知类person是类student的父类,以下数组定义与赋值哪些是正确的(A)A.personp[]=newperson[3];p[1]=newstudent();B.students[]=newperson[3];s[1]=newperson();C.personp[]=newstudent[3];p[1]=newperson();D.students[]=newstudent[3];s[1]=newperson;9编译MyClass.java之后,得到了三个字节码文件:MyClass.class,MyClasslittle$.classMyClass$1.class.这表明(C)A.MyClass类中的两个方法:little与1B.MyClass.Java中有三个类:MyClass、little与1C.MyClass类中有两个内部类:一个是命名的little,另一个是匿名的1D.MyClass、little与1,这三者没什么关系10、main方法是javaApplication程序执行的入口点,关于main方法的方法头以下(B)是合法的。A.publicstaticvoidmain()B.publicstaticvoidmain(Stringarg[])C.publicstaticintmain(String[]arg)D.B.publicvoidmain(Stringarg[])11、当编译与运行下面的代码会出现什么情况?(A)Importjava.io.*;ClassExBase{Abstractpublicvoidmartley()}PublicclassMyExextendsExBase{Publicstaticvoidmain(Stringargv[]){DataInputStreamfi=newDataInputStream(System.in);Try{Fi.readChar();}Catch(IOEceptione){System.exit(0);}Finally{System.out.println(“Doingfinally”);}}}A.编译错误B.可以运行,没有打印出”Doingfinally”C.可以运行,在打印出”Doingfinally”12、当编译与运行下面的代码会出现什么情况?(D)PublicclassSandys{Privateintcourt;Publicstaticvoidmain(Stringargv[]){Sandyss=newSandys(99);System.out.println(s.court);}Sandys(intballeount){court=ballcount;}}A编译错误,变量court被定义为privateC可以编译与运行,没有输出结果D可以编译与运行,输出结果为9913、给出下面的代码:ClassBase{}ClassAggextendsBase{PublicStringgetFields(){Stringname=”Agg”;Returnname;}}PublicclassAvf{Publicstaticvoidmain(Stringargv[]){Basea=newAgg();//Here}}当把下面的代码添加到注释“/Here”后面,程序的输出结果是”Agg”(D)A.System.out.println(a.getFields())B.System.out.println()C.System.out.println((Base)a.getFields())D.System.out.println(((Agg)a).getFields())14、当编译与运行下面的代码会出现什么情况?(A)AbstractclassBase{Abstractpublicvoidmyfunc();Publicvoidanother(){Systern.out.println(“Anothermethod”);}}PublicclassAbsextendsBase{}Publicstaticvoidmain(Stringargv[]){Absa=newAbs();a.amethod();}Publicvoidmyfunc(){System.out.println(“MyFunc”)}A可以编译与运行,输出的结果是”Myfunc”B出现编译错误:Base类中没有抽象方法C可以编译,但运行是提示Base类中没有抽象方法D出现编译错误,Base类中的方法myfunc没有方法体15、编译与运行下面的代码会出现(D)Importjava.io.*;ClassBase{Publicvoidamethod()throws{}}PublicclassExcepDemoextendsBase{Publicstaticvoidmain(Stringargv[]){NewExcepDemo();}Publicvoidamethod(){}ProtectedExcepDemo(){try{BufferedReaderinputStream=newBufferedReader(newInputStreamReader);System.out.println(“Pausing”);inputStream.readLine();System.out.println(“Contimuing”);This.amethod();}catch(IOExceptionioe){}}A编译错误,因为构造方法被声明为protectedB编译错误,因为方法amethod没有抛出异常C运行时错误,因为方法amthod没有抛出异常D可以编译与运行,输出的结果是:Pausing…Continuing其中…表示等待用户的键盘输入17、以下程序的输出结果是(C)classAclass{voidgo(){System.out.println(“Aclass”);}}publicclassBclassextendsAclass{Voidgo{System.out.println(“Bclass”);}Publicstaticvoidmain(Stringargs[]){Aclassa=newAclass();Aclassal=newBclass();a.go();al.go();}}AclassAclassB、BclassBclassC、AclassBclassD、BclassAclass18、看以下程序Booleana=false;Booleanb=true;Booleanc=(a&&b)&&(!b);Intresult=c==false?1:2;这段程序执行完后,c及result的值是:(A)Ac=false;result=1;Bc=true;result=2;Cc=true;result=1;Dc=false;result=2;19、下面哪个单词是Java语言的关键字(B)A.FloatB.this20、switch语句(A)A.都可以用if-elseif结构实现B.都不可以用if-elseif结构实现C.有的可以用if-elseif结构实现D.大部分不可以用if-elseif结构实现21、在异常处理中,如释放资源、关闭文件等善后操作由(C)来完成。A.try子句B.catch子句C.finally子句D.throw子句22、下面哪个是Java语言中正确的标识符( C)A.3comB.importC.thatD.this23、下面哪个修饰符修饰的方法只能被本类中的其他方法使用(C)A.protectedB.staticC.privateD.24、下面哪条语句定义了5个元素的数组(A)A.int[]a={22,23,24,25,12};B.inta[]=newint(5);C.int[5]array;D.int[]arr;25、下面哪项可以得到数组元素的个数,Java中定义数组名为abc。(B)A.abc.length()B.abc.lengthC.len(abc)D.ubound(abc)26、下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的(C)A.publicB.privateC.static27、下面关于构造方法的说法不正确的是(B)A、构造方法也属于类的方法,用于创建对象的时候给成员变量赋值。B、构造方法不可以重载。C、构造方法没有返回值D、构造方法一定要与类名相同28、监听事件与处理事件(A)A、都由Listener完成B、都由相应事件Listener处登记过的构件完成C、由Listener与构件分别完成D、由Listener与窗口分别完成29、如果希望所有的控件在界面上均匀排列,应使用下列那种布局管理器?(B)A.BoxLayoutB.GridLayout30、给出如下代码:ClassTest{Privateintm;Publicstaticvoidfun(){//somecode…}}如何使成员变量m被函数fun()直接访问?(C)A将privateintm改为protectedintmB将privateintm改为publicintmC将privateintm改为staticintmD将privateintm改为intm31、有个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就……法头的形式为(A)A.staticvoidmethod()B.publicvoidmethod()C.finalvoidmethod()D.abstractvoidmethod()32、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)A.javaC.htmlD.exe33、如果只要让类中的成员变量可以被同一包访问,则使用如下哪个访问控制符?(D)Aprivate;BPublic;CProtected;D不使用访问控制符34、以下哪个方法用于定义线程的执行体?(C)Astart();Binit();Crun();Dmain();35、Java语言具有许多优点与特点,下列选项中,哪个反映了Java程序并行机制(B)A、安全性 B、多线程C、跨平台D、可移植36、为实现多线程之间的通信,需要使用下列哪种流才合适(D)AFilterstream;BCRandomaccessstream;DPipedInputStream与PipedOutputStream37、函数重载是指(A)A两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B两个以上的函数取相同的名字与具有相同的形参个数与类型C两个以上的函数名字不同,但形参的个数或类型相同D两个以上的函数取相同的函数名,并且函数的返回类型相同38、构造方法何时被调用(B)A、类定义时B、创建对象时C、调用对象方法时D、使用对象的变量时39、Java中哪个类提供了随机访问文件的功能(A)A.RandomAccessFile类40、当方法遇到异常又不知如何处理时,应该怎么做(B)A.捕获异常===============================================================================================================================================================================================================二、填空题:(10小题,每题1分,共10分)1、开发及运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成自节码与解释运行字节。2、如果一个JavaApplet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是Applet类的子类并且存储该源程序文件的文件名为MyApplet.java。3、如果一个JavaApplet程序文件中定义有3个类,则使用Sun公司的JDK编译器javac.exe编译该源程序文件将产生3个文件名及类名相同而扩展名为.class的字节码文件。4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。5、使用数组时,下标表达式是整型表达式,下标的范围为0至数组长度减16、若x=5,y=10,则x<y与x>=y的逻辑值分别为true与false。8、创建一个名为MyPackage的包的语句是packageMyPackage;该语句应该放在程序的位置为:应该在程序第一句。9、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。10、在文件操作中,publicStringgetName()功能是得到文件名。publicStringgetAbsolutePath()功能是返回文件绝对路径。==================================================================1、开发及运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码与解释运行字节码。2、如果一个JavaApplet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是Applet类的子类并且存储该源程序文件的文件名为MyApplet。3、如果一个JavaApplet程序文件中定义有3个类,则使用Sun公司的JDK编译器javac.exe编译该源程序文件将产生3个文件名及类名相同而扩展名为.class的字节码文件。4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。5、设x=2,则表达式(x++)/3的值是1。6、若x=5,y=10,则x<y与x>=y的逻辑值分别为true与false。7、抽象(abstract)方法方法是一种仅有方法头,没有具体方法体与操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法方法是不能被当前类的子类重新定义的方法。8、创建一个名为MyPackage的包的语句是packageMyPackag,该语句应该放在程序的位置为:应该在程序第一句。9、设有数组定义:intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是120。ints=0;for(inti=0;i<MyIntArray.length;i++)if(i%2==1)s+=MyIntArray[i];System.out.println(s);10、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。====================================================三、判断题。1Java语言是平台无关的语言。T3Java中方法调用时参数传递都是按值传递的,因此从方法中退出时,参数的值是不会变的。T4覆盖方法所抛出的异常不能比原方法更多。T5Final方法不能被覆盖。T6抽象类中一定包含抽象方法。F7接口中的方法必须是抽象方法。T8在方法定义中,所以可能发生的异常都必须用try{}catch(){}捕捉。F9Java支持多重继承。F10Final修饰的类不能派生子类。T11覆盖的同名方法中,子类方法不能比父类方法的访问权限更严格。T13抽象类中不能创建对象。T14一个类可以实现多接口。T15接口中可以包含非静态成员。F16不论是否捕捉到异常try{}catch(){}final{}语句中finally块中的代码总要被执行。T17一个类实现一个接口,则该类必须实现接口中的所有方法。F18线程使用sleep方法去休眠后可以使用notify方法唤醒。F19线程使用sleep方法休眠是会释放该线程同步锁定的对象。F20Final类中的属性与方法都必须是final的。F1、Java中的引用变量需要初始化,简单变量可以不进行初始化(x)2、子类可以继承父类的除私有成员以外的其它所有成员。(v)3、Java只支持单继承,也就是说子类只能有一个直接父类。(v)4、框架是一个程序的主窗口,它是顶级容器。(v)5、关闭框架时,缺省地也会关闭整个应用程序。(x)6、Java可以设置程序的界面外观,即可以让程序在不同操作系统下按照系统特有的外观风格显示,也可以将风格统一。(v)7、中间容器,原子组件,菜单栏,工具栏等都直接放在顶级容器下(x)8、++op运算符的作用是先将变量的值加1再返回变量的值(v)9、为了不影响程序的正常运行,Javadoc命令全部嵌入在注释语句中,以“/**”开头,以“*/”结尾。(v)10、标签是最常用的组件,它的作用是在界面上显示一行文字,标签也可以显示图片,或者即显示图片也显示文字。(v)1即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参函数,函数体为空。(对)2在Java的方法中定义一个常量要用const关键字。(错)3在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch语句。(错)4Applet是一种特殊的Panel,它是JavaApplet程序的最外层容器。(对)5一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。(对)6Java的字符类型采用的是Unicode编码,但所占字节由具体软硬件环境决定。(错)7所有的鼠标事件都由MouseListener监听接口的监听者来处理。(错)8Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。(对)9如果p是父类Parent的对象,而c是子类Child的对象,则语句p=c是正确的。(错)10Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(错)11由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。(错)12静态初始化器是在其所属的类加载内存时由系统自动调用执行。 (对)13 Applet是一种特殊的Panel,它是JavaApplet程序的最外层容器。 (对)14注释的作用是使程序在执行时在屏幕上显示//之后的内容。 (错)15在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(对)==============================================================================================================================================================================================================四、简答1比较接口及抽象类的共同点与不同点.什么情况下应采用接口,什么情况下应采用抽象类.答:接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称、参数与返回值。接口方法不能包含任何实现,CLR允许接口可以包含事件、属性、索引器、静态方法、静态字段、静态构造函数以及常数。如果创建的功能将在大范围的全异对象间使用,则使用接口。抽象类提供多个派生类共享基类的公共定义,它既可以提供抽象方法,也可以提供非抽象方法。抽象类不能实例化,必须通过继承由派生类实现其抽象方法。相同点:都不能被直接实例化,都可以通过继承实现其抽象方法。都是面向抽象编程的技术基础,实现了诸多的设计模式。不同点:接口支持多继承;抽象类不能实现多继承。接口只能定义抽象规则;抽象类既可以定义规则,还可能提供已实现的成员。接口是一组行为规范;抽象类是一个不完全的类,着重族的概念。接口可以用于支持回调;抽象类不能实现回调,因为继承不支持。接口只包含方法、属性、索引器、事件的签名,但不能定义字段与包含实现的方法;抽象类可以定义字段、属性、包含有实现的方法。接口可以作用于值类型与引用类型;抽象类只能作用于引用类型。例如,Struct就可以继承接口,而不能继承类。2类的加载与构造方法的调用顺序类的加载的顺序:先递归地加载父类的静态成员/代码块(object的最先);再依次加载到本类的静态成员。调用构造方法:先递归地调用父类的构造方法;默认调用父类空参的同,也可在第一行写明调用用父类某个带参的。再依次到本类的构造方法;先初始化父类的静态代码--->初始化子类的静态代码-->====(创建实例时,如果不创建实例,则后面的不执行)初始化父类的非静态代码--->====初始化父类构造函数--->初始化子类非静态代码--->初始化子类构造函数==3什么是重载,什么是覆盖,有什么区别与共同点?答:重载是指在同一个类中定义了多个名字相同而内容不同的成员方法;覆盖则是指在子类中定义了及父类具有相同名字的成员方法。重载及覆盖的区别在于:重载是存在于同一个类的不同方法之间的多态关系,它们主要通过参数表中参数的个数、参数的数据类型与参数的顺序等方面的不同来区分;面覆盖是存在于父类及子类之间的多态关系,它们在引用时通过指出所属类的类名来区分。==============================================================================================================================================================================================================五.程序阅读题1.写出以下程序的运行结果。(54321)publicclassTestArray{publicstaticvoidmain(Stringargs[]){ inti,j; inta[]={1,3,2,5,4}; for(i=0;i<a.length-1;i++){ intk=i; for(j=i;j<a.length;j++) if(a[j]>a[k])k=j; inttemp=a[i]; a[i]=a[k]; a[k]=temp; } for(i=0;i<a.length;i++) System.out.print(a[i]+""); System.out.println();}}2.写出以下程序的功能。(在屏幕上输出test.java文件的内容)importjava.io.*;class{ publicstaticvoidmain(String[]args)throwsIOException{ intb; (“”); while((b=())!=-1){ System.out.print((char)b); } }}写出以下程序的运行结果。Str0str1str2str0str2importjava.util.*;publicclassVec{publicstaticvoidmain(String[]args){String[]s;s=newString[2];s[0]=newString("str1");s[1]=newString("str2");Vectorv=newVector();for(inti=0;i<2;i++)v.addElement(s[i]);v.insertElementAt(newString("str0"),0);Enumeratione=v.elements();while(e.hasMoreElements())System.out.print(e.nextElement()+"");System.out.println();v.removeElement("str1");for(inti=0;i<v.size();i++)System.out.print(v.elementAt(i)+"");System.out.println();}}4.写出以下程序的运行结果。intclassOverloadDemo{voidtestOverload(inti){System.out.println(“int”);}voidtestOverload(Strings){System.out.println(“String”);}publicstaticvoidmain(Stringargs[]){OverloadDemo a=newOverloadDemo();charch=’x’;a.testOverload(ch);}}5.阅读以下程序,写出输出结果。inSecondclassclassFirst{ publicFirst(){ aMethod(); } publicvoidaMethod(){ System.out.println(“inFirstclass”);}}publicclassSecondextendsFirst{ publicvoidaMethod(){ System.out.println(“inSecondclass”);}publicstaticvoidmain(String[]args){ newSecond(); }}6.写出以下程序的运行结果。classStaticTest{staticintx=1;inty;StaticTest() { y++; } publicstaticvoidmain(Stringargs[]){ StaticTestst=newStaticTest(); System.out.println("x="+x); System.out.println("st.y="+st.y); st=newStaticTest(); System.out.println("st.y="+st.y); } static{x++;}}x=2sty=1sty=17.阅读以下程序:classExp1{publicstaticvoidmain(String[]args) { Strings,s1=""; charc; s=args[0]; for(inti=0;i<s.length();i++) { c=s.charAt(i); if(c>='a'&&c<='z'){s1=s1+Character.toUpperCase(c);}else{ s1=s1+Character.toLowerCase(c); } } System.out.println(s1); }}若在dos命令行输入:javaExp1cHINA,则输出为JAVAeXP1China。8.阅读以下程序:importjava.io.*;publicclassAboutFile{ publicstaticvoidmain(String[]args){ BufferedReaderb=newBufferedReader(newInputStreamReader(System.in)); Strings; System.out.flush(); s=b.readLine(); System.out.println(“Stringis:”+s); }}运行以上程序,若从键盘输入:java<回车>则输出结果为Stringis:java。9.阅读以下程序,写出输出结果。classAnimal{Animal(){System.out.print("Animal");}}publicclassCatextendsAnimal{Cat(){System.out.print("Cat");}publicstaticvoidmain(String[]args){Catkitty=newCat();}}AnimalCat10.以下程序段的输出结果为int,intclassCruncher{ voidcrunch(inti){ System.out.print(“int”); }voidcrunch(Strings){System.out.print(“String”);}publicstaticvoidmain(Stringargs[]){Cruncher crun=newCruncher();charch=’h’;inti=12;crun.crunch(ch);System.out.print(“,”);crun.crunch(i);}}11.阅读以下程序,输出结果为cooljava。importjava.io.*;publicclassTestString{publicstaticvoidmain(Stringargs[]){StringCs=newStringC("cool","java");System.out.println(s);}}classStringC{Strings1;Strings2;StringC(Stringstr1,Stringstr2){s1=str1;s2=str2;}publicStringtoString(){returns1+s2;}}1v0v11vo。importjava.util.*;publicclassVecApp{publicstaticvoidmain(String[]args){Vectorv=newVector();for(inti=0;i<2;i++)v.addElement("v"+i);v.insertElementAt(newInteger(1),0);Enumeratione=v.elements();while(e.hasMoreElements())System.out.print(e.nextElement()+"");System.out.println();v.removeElement("v1");for(inti=0;i<v.size();i++)System.out.print(v.elementAt(i)+"");System.out.println();}}四.编程题1.编写一个输出"WelcometoJavaWorld!"的Applet程序与嵌入该Applet的HTML页面。①②<html></html>importjava.applet.*;importjava.awt.*;publicclassWelcomeextendsApplet{publicstaticStringstr=null;publicvoidinit(){str="WelcometoJavaWorld!";};publicvoidpaint(Graphicsg){g.drawString(str,10,50);};}编写一个完整的JavaApplication程序。包含接口ShapeArea,类Circle、Rectangle、Test,具体要求如下:⑴接口ShapeArea:①接口方法doublegetArea():求一个形状的面积doublegetPerimeter():求一个形状的周长⑵类Rectangle:实现ShapeArea接口,并有以下属性与方法:属性width:double型,表示长方形的宽度height:double型,表示长方形的长度方法Rectangle(doublew,doubleh):构造函数toString():输出矩形的描述信息,如“”⑶Test类作为主类要完成测试功能生成Rectangle对象②调用对象的toString方法,输出对象的描述信息publicclassTest{//主类定义2分publicstaticvoidmain(Stringargs[]){Rectangler=newRectangle(1,2);System.out.println(r.toString());}}interfaceShapeArea//接口定义2分{publicabstractdoublegetPerimeter();publicabstractdoublegetArea();}classRectangleimplementsShapeArea{doublewidth,he
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 短视频广告设计策略试题及答案
- 了解纺织品耐磨性检测试题及答案
- 女性类型测试题及答案
- 生化试题库及答案 受体
- 月球动物测试题及答案
- 广告设计师设计流程优化试题及答案
- 1月20雅思试题及答案
- 深入剖析的广告设计师考试技巧试题及答案
- 2024年纺织行业试题及答案解析
- 广告设计与用户互动体验试题及答案
- 氨基酸多肽蛋白质课件
- 被执行人财产线索提供书(模板)
- 新技术、新工艺、对提高工程质量、缩短工期、降低造价的可行性
- 金属矿床地下开采复习题及答案
- Cpk 计算标准模板
- 【小升初】2023小学六年级人教版道德与法治升学毕业试卷及答案(时政+上下册考点)04
- 乳化液废水处理方案
- 军事航天技术
- 新媒体实验影像课件
- 游戏王统一规则
- 毕业论文-原油电脱水方法与机理的研究
评论
0/150
提交评论