一、填空题1.对象之间可能存在的关系有三种:_包含_、_继承__和_关联_。2.面向对象的软件开发过程大体可分为__面对对象分析、__面对对象设计_和_面对对象测试__三个阶段。3.Java语言中实现多态的方法有__继承__、_方法重载_和_成员覆盖__。4.Java语言具有可移植性、高性能、健壮性、安全性和独立于体系结构的__跨平台_特点。5.JAVA语言规定object类是JAVA程序中所有类的父类,当前类的构造方法用this()表示,直接父类的构造方法用super()表示。6.如果一个JavaApplet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是Applet类的子类并且存储该源程序文件的文件名为MyApplet.java。7.如果一个JavaApplet程序文件中定义有3个类,则使用Sun公司的JDK编译器javac.exe编译该源程序文件将产生3个文件名与类名相同而扩展名为.class的字节码文件。8.在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。10.Applet是能够嵌入到HTML格式的文件中,并能够在浏览器中运行的Java。11.在Java中,线程的模型就是一个CPU、程序代码和数据的封装体。12.键盘键入字符串并在计算机屏幕上显示,这时的数据源是键盘。13.JAVA语言是第一个语言本身就支持线程的编程语言,其对线程的支持主要通过java.lang.Thread类和java.lang.Runnable接口来实现。14.设有数组定义:intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是120。ints=0;for(inti=0;iMyIntArray.length;i++)if(i%2==1)s+=MyIntArray[i];System.out.println(s);15.JVM是JavaVirtualMachine的缩写;AWT是abstracwindowtoolkit的缩写。16.单重继承是指只有一个父类的继承;多重继承是指有一个以上父类的继承;Java语言出于安全、可靠的考虑,仅支持单重继承;但Java语言可通过接口来实现多重继承。17.Java中构成图形用户界面的元素和成分可分为_容器_、_控制组件_和___用户自定义________________等三类。18.一个线程的完整生命周期包括如下5种状态_新生_、__就绪_、_运行_、_阻塞_和_死亡_。19.Java中实现多线程的图径有2种,一种是__继承thread类__,另一种是_______Runnable接口。20.任何一个Java程序都默认引入了一个包,这个包的名字叫java.lang。21.Java语言中,有一个类是所有类或接口的父类,这个类的名称是object。22.下列程序的功能是创建了一个显示5个Hello!的线程并启动运行,请将程序补充完整。publicclassThreadTestextendsThread{publicstaticvoidmain(Stringargs[]){ThreadTestt=new_____ThreadTest()_______;t.start();}publicvoidrun(){inti=0;while(true){System.out.println(Hello!);if(i++==4)break;}}23.Java中访问限定符有public、private_、protected和default等。24.事件处理机制中包含以下3个部分事件源、事件对象和事件监听器,JAVA2的事件处理模型被称为委托事件处理模型。25.JAVA线程在其生命周期中会处在不同的状态,包括运行、暂停、同步和挂起。26.图形用户界面由容器和组件组成。27.表示可直接对数据源进行读写操作的流称为节点流。28.如果要将捕获到的异常在当前方法中处理,应该使用try-catch-final语句来捕获一个或多个异常。29.抽象方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。final方法是不能被当前类的子类重新定义的方法。30.创建一个名为MyPackage的包的语句是packgeMyPackage,该语句应该放在程序的位置为:源代码的第一行二、简答与程序分析题1.简述程序、进程与线程的差别。2.简述方法重载与方法覆盖的区别方法的覆盖和重载是Java多态性的不同表现。覆盖是父类与子类之间多态性的一种表现,重载是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被覆盖。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载。重载的方法是可以改变返回值的类型。3.阅读以下程序:(本题3分)classFatherClass{publicFatherClass(){System.out.println(FatherClassCreate);}}publicclassChildClassextendsFatherClass{publicChildClass(){System.out.println(ChildClassCreate);}publicstaticvoidmain(String[]args){FatherClassfc=newFatherClass();ChildClasscc=newChildClass();}}程序运行结果是FatherClassCreateFatherClassCreateChildClassCreate__________4.阅读以下程序:classMyThreadextendsThread{publicvoidrun(){System.out.println(MyThread:run());}publicvoidstart(){System.out.println(MyThread:start());}}classMyRunnableimplementsRunnable{publicvoidrun(){System.out.println(MyRunnable:run());}publicvoidstart(){System.out.println(MyRunnable:start());}}publicclassMyTest{publicstaticvoidmain(Stringargs[]){MyThreadmyThread=newMyThread();MyRunnablemyRunnable=newMyRunnable();Threadthread=newThread(myRunnable);myThread.start();thread.start();}}此程序的运行结果是___________MyThread:start()MyRunnable:run()5.阅读程序,写出程序的运行结果importjava.util.Scanner;publicclassTestThrowException{publicstaticvoidmain(String[]args){TestThrowExceptiont=newTestThrowException();System.out.print(请输入您的年龄:);System.out.println(您的年龄:+t.inputAge());}publicintinputAge(){intresult=-1;Scannerscan=newScanner(System.in);while(true){try{result=scan.nextInt();if(result0||result130){Exceptionme=newException(年龄超出合理范围!);throwme;}break;}catch(Exceptione1){System.out.print(e1.getMessage()+请重新输入:);continue;}}returnresult;}}输入145时程序运行结果______________________________________________________6.阅读以下程序:importjava.io.*;publicclassReadLineTest{publicstaticvoidmain(String[]args)throwsIOException{BufferedReaderb=newBufferedReader(newInputStreamReader(System.in));Strings;System.out.flush();s=b.readLine();System.out.println(s);}}运行以上程序,若从键盘输入:Hello回车阅读以下程序,输出结果为Hello。7.阅读以下程序importjava.io.*;publicclassATest{publicstaticvoidmain(Stringargs[]){SubClasssb=newSubClass();System.out.println(sb.funOfMod());}}classSuperClass{inta=-10,b=-3;}classSubClassextendsSuperClass{intfunOfMod(){returna%b;}}程序运行结果为___________-1_____________8.阅读以下程序:classA{publicstaticvoidmain(String[]args){Strings,s1=;charc;s=args[0];for(inti=0;is.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命令行输入:javaAhELLO,则输出为hELLO。9.阅读以下程序:(本题3分)publicclassC{publicstaticvoidmain(Stringargs[]){inti,j;inta[]={2,1,4,8,9,5,3};for(i=0;ia.length-1;i++){intk=i;for(j=i;ja.length;j++)if(a[j]a[k])k=j;inttemp=a[i];a[i]=a[k];a[k]=temp;}for(i=0;ia.length;i++)System.out.print(a[i]+);System.out.println();}}程序运行结果为12345678910.阅读程序,写出程序的运行结果publicclassPerson{Stringname;intage;publicStringgetInfo(){returnName:+name+\t+age:+age;}}publicclassStudentextendsPerson{Stringschool;publicStringgetInfo(){returnName:+name+\tAge:+age+\tSchool:+school;}}publicclassTest{publicstaticvoidmain(String[]args){Personp=newPerson();p.name=Tom;p.age=18;System.out.println(p.getInfo());Students=newStudent