指导学习课程总复习任务任务使用面向对象描述计算机输出图像的过程使用面向对象的方式描述计算的接口和驱动训练的技能点1、能理解并会使用面向对象的特性--封装、继承、多态2、会使用接口设计、编写程序3、会使用Java的异常处理机制进行异常处理阶段划分第一部分:复习串讲(100分钟)学员对本门课程进行总结(50分钟)本门课程习题训练(50分钟)第二部分:综合练习(90分钟)阶段1(40分钟)编写类描述计算机的主机、计算机的输入输出设备阶段2(20分钟)编写计算机类,输出图像阶段3(30分钟)编写Java接口和类:描述计算机接口及驱动第三部分(10分钟)总结复习串讲学员对本门课程进行总结(50分钟)学员讲解,2~3名,每人15~20分钟习题训练1、下列对Java中的继承描述错误的说法是()。A.子类至少有一个基类B.子类可作为另一个子类的基类C.子类除了包含它直接定义的属性外,还包含其父类的私有属性D.子类继承父类的方法访问权限保持不变答案:C习题训练2、try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行?A.不会执行B.会执行,在return前执行C.会执行,在return后执行D.会执行,可能在return前执行,也可能在return后执行答案:B习题训练3、构造方法是否可被重写和重载()。A.不能重写,可以重载B.可以重写,不能重载C.不能重写,不能重载D.可以重写,可以重载答案:A习题训练4、下列属于方法重载好处的是()。A.实现多态B.方法名的复用C.提高程序运行速度D.使用方便,提高可读性答案:BD习题训练5、面向对象方法的多态性是指()。A.一个类可以派生出多个特殊类B.一个对象在不同的运行环境中可以有不同的变体C.拥有相同父类或接口的不同对象可以以适合自身的方式处理同一件事D.一个对象可以是由多个其他对象组合而成的答案:C习题训练6、Dog是Animal的子类,下面代码错误的是()。A.Animala=newDog();B.Animala=(Animal)newDog();C.Dogd=(Dog)newAnimal();D.Objecto=newDog();答案:C习题训练7、下面定义Java的常量,正确的是()。A.publicstaticfinaldoublePI=3.14;B.publicfinalstaticdoublePI=3.14;C.finalpublicstaticdoublePI=3.14;D.staticpublicfinaldoublePI=3.14;答案:ABCD习题训练8、这段代码的输出结果是()。try{System.out.print(try,);return;}catch(Exceptione){System.out.print(catch,);}finally{System.out.print(finally);}A.try,B.try,catch,C.try,finallyD.try,catch,finally答案:C习题训练9、这个方法的返回值是()。publicintcount(){try{return5/0;}catch(Exceptione){return2*3;}finally{return3;}}//如果有多个return,以第一个返回值为准A.0B.6C.3D.程序错误答案:C习题训练10、下面代码的运行结果是()。publicclassCar{publicvoidrun(){System.out.println(汽车在跑);}}publicclassBenzextendsCar{publicvoidrun(){System.out.println(奔驰在跑);}}publicstaticvoidmain(String[]args){Carcar=(Car)(newBenz());car.run();}答案:BA.汽车在跑B.奔驰在跑C.无法编译D.运行时将抛出异常习题训练11、王强使用log4j的配置文件如下,log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.out…log4j.rootLogger=info,stdout,file他在程序中这样编写,将会输出的日志信息是()。logger.debug(记录debug日志);logger.info(记录info日志);A.记录debug日志记录info日志B.记录debug日志C.记录info日志D.程序错误,无法输出日志答案:C习题训练12、下面的异常处理代码的输出结果是()。try{intresult=6/0;System.out.print(try,);}catch(ArithmeticExceptione1){System.out.print(ArithmeticException异常,);thrownewException();}catch(Exceptione2){System.out.print(Exception异常,);}finally{System.out.print(finally);}A.程序错误B.ArithmeticException异常,finallyC.ArithmeticException异常,Exception异常,finallyD.try,ArithmeticException异常,Exception异常,finally答案:A习题训练13、关于Java的接口,下面说法错误的是()。A.可以被继承B.可以只定义常量,而没有任何方法C.可以这样定义常量:publicintEVEREST=8848;D.方法的参数不可以是接口答案:D习题训练14、下列代码的输出结果是()。publicclassExample{Stringstr=newString(good);char[]ch={'a','b','c'};publicstaticvoidmain(String[]args){Exampleex=newExample();ex.change(ex.str,ex.ch);System.out.print(ex.str+and);System.out.println(ex.ch);}publicvoidchange(Stringstr,charch[]){str=testok;ch[0]='g';}}A.goodandabcB.goodandgbcC.testokandabcD.testokandgbc答案:B习题训练15、能与publicvoidmethodA(){}形成重载的有()。A.privatevoidmethodA(){}B.privateintmethodA(){return1;}C.publicvoidmethodA(inta){}D.publicvoidmethodA()throwsException{}答案:C习题训练16、子类中能与父类publicvoidmethodA(inta){}方法形成重写的有()。A.publicintmethodA(inta){return1;}B.publicvoidmethodA(inta)throwsException{}C.privatevoidmethodA(inta){}D.publicvoidmethodA(intb){}答案:D习题训练17、关于构造方法,下面说法错误的是()。A.父类只有一个带参的构造方法,子类必须显示声明带参构造方法B.子类无参构造方法中没有写super();不会调用父类无参构造方法C.子类无参构造方法不可以用super(inta);调用父类对应的带参构造方法D.实例化一个类的对象时,一定会先调用java.lang.Object的构造方法答案:ABC习题训练18、阅读下面代码,将会输出()。publicclassTesta{Integera=newInteger(10);Integerb=newInteger(10);publicstaticvoidmain(String[]args){TestatestA=newTesta();if(testA.a==testA.b){System.out.print(很);}if(testA.a.equals(testA.b)){System.out.print(好);}}}答案:BA.很B.好C.很好D.抛出NullPointerException异常E.编译错误习题训练19、根据下面的代码,Strings=null;会抛出NullPointerException异常的有()。A.if((s!=null)&(s.length()0))B.if((s!=null)&&(s.length()0))C.if((s==null)|(s.length()==0))D.if((s==null)||(s.length()==0))答案:AC习题训练20、阅读下面的代码,B类注释处可以放置的方法是()。classA{publicvoidmethod(inta,floatb){//一些声明等等}}publicclassBextendsA{//这里放置方法}A.privatevoidmethod(inti,floata){…}B.publicvoidmethod(inti,floatf){…}C.publicvoidmethod(){…}D.privateintmethod(floatf,intb){…}答案:BCD习题训练21、编译运行下列程序会发生()的情况。publicclassMystery{Strings;publicstaticvoidmain(Stringargs[]){Mysterym=newMystery();m.go();}publicvoidMystery(){s=Constructor;}privatevoidgo(){System.out.println(s);}}答案:DA.可以编译,运行时会抛异常B.可以编译运行,但是控制台上什么都不输出C.输出“constructor”D.输出“null”习题训练22、关于Java的异常和异常处理,下面说法错误的是()。A.try/catch/finally块里都可以嵌套try/catch/finallyB.一个try可以对应多个catchC.如果发生的异常没有被捕捉,异常将被系统忽略D.异常处理时可以只用try块。答案:CD习题训练23、关于Java的继承,下面说法错误的是()。A.接口可以继承接口B.子类不可以继承父类的私有属性和私有方法C.所有类都是java.lang.Object的子类,但是不可以这样写:publicclassEarthextendsObject{}D.一个类不可以继承(extends)另一个类,同时又实现(implements)一个接口答案:CD习题训练24、Thing是一个类,下面的代码可以产生()个Thing类型的对象。Thingitem;Thingstuff;item=newThing();Thingentity=newThing();A.1B.2C.3D.4答案:B习题训练25、阅读下面的代码,正确的说法是()。classFoo{intnum;Bazcomp=newBaz();}classBar{booleanflag;}classBazextendsFoo{Barthing=newBar();doublelimit;}A.Bar是Baz子类B.Foo包含BarC.Baz是Foo子类D.Foo是Baz子类E.Baz包含Bar答案:CE需求说明:编写类描述计算机的主机编写类描述计算机的输入输出设备阶段1完成时间:40分钟主机类硬盘类属性计算机的主机包括主板、CPU、内存、硬盘数据(整形数组)方法从硬盘读取数据向硬盘写入数据构造方法读、写硬盘的方法使用接口和实现类教员巡视指导,进行阶段