您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第三章 面向对象程序设计(答案)
学号:姓名:第三章面向对象程序设计作业一、判断题1、一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。对2、如果类A和类B在同一个包中,则除了私有成员外,类A可以访问类B中所有的成员。对3、接口中的成员变量全部为常量,方法为抽象方法。对4、抽象类可以有构造方法,可以直接实例化。错5、对static方法的调用可以不需要类实例。对6、包含抽象方法的类一定是抽象类。对7、方法中的形参可以和方法所属类的属性同名。对8、接口无构造器,不能有实例,也不能定义常量。错9、类的实例对象的生命周括实例对象的创建、使用、废弃、垃圾的回收。对10、Java应用程序的入口main方法只有一种定义法。对二、选择题1、下列答案正确的是(A)A)在同一个Java源文件中可以包含多个类,只能有一个被声明为publicB)在同一个Java源文件中只能包含一个类,并被声明为publicC)在同一个Java源文件中可以包含多个类,都可以被声明为publicD)在同一个Java源文件中可以包含多个类,只能有一个被声明为default2、Java实现动态多态性是通过(B)实现的。A)重载B)覆盖C)接口D)抽象类3、下列哪一个是正确的方法重载描述(A)A)重载方法的参数类型必须不同B)重载方法的参数名称必须不同C)返回值类型必须不同D)修饰词必须不同4、final关键字不可以用来修饰(D)A)类B)成员方法C)域D)接口5、接口的所有成员方法都具有(B)属性A)private,finalB)public,abstractC)static,protectedD)static6、Java的封装性是通过(A)实现的A)访问控制B)设计内部类C)静态域和静态方法D)包7、下列接口或类不属于java.util.*包的是(D)A)CollectionB)VectorC)MapD)Integer8、下述哪一组方法,是一个类中方法重载的正确写法?(A)A)intaddValue(inta,intb){returna+b;}floataddValue(floata,floatb){returna+b;}B)intaddValue(inta,intb){value=a+b;}floataddValue(inta,intb){return(float)(a+b);}C)intaddValue(inta,intb){returna+1;}intaddValue(inta,intb){returna+b;}D)intaddValue(inta,intb){returna+b;}intaddValue(intx,inty){returnx+y;}9、下列说法哪个是正确的?(C)A)子类不能定义和父类同名同参数的方法B)子类只能继承父类的方法,而不能重载C)重载就是一个类中有多个同名但有不同形参和方法体的方法D)子类只能覆盖父类的方法,而不能重载10、对于下列代码:publicclassParent{publicintaddValue(inta,intb){ints;s=a+b;returns;}}classChildextendsParent{}下述哪个方法不可以加入类Child?(B)A)publicintaddValue(inta,intb,intc){//dosomething...}B)publicvoidaddValue(inta,intb){//dosomething...}C)publicintaddValue(inta){//dosomething...}D)publicintaddValue(inta,intb){//dosomething...}11、以下程序段输出结果的是(B)publicclassAimplementsB{publicstaticvoidmain(Stringargs[]){inti;Ac1=newA();i=c1.k;System.out.println(i=+i);}}interfaceB{intk=10;}A)i=0B)i=10C)程序有编译错误D)i=true12、阅读下面的程序,输出结果是(B)publicclassTestDemo{intm=5;publicvoidsome(intx){m=x;}publicstaticvoidmain(Stringargs[]){newDemo().some(7);}}classDemoextendsTestDemo{intm=8;publicvoidsome(intx){super.some(x);System.out.println(m);}}A)5B)8C)7D)编译错误13、下述哪个说法是不正确的?(A)A)局部变量在使用之前无需初始化,因为有该变量类型的默认值B)类成员变量由系统自动进行初始化,也无需初始化C)参数的作用域就是所在的方法D)for语句中定义的变量,当for语句执行完时,该变量就消亡了14、下述那一个保留字不是类及类成员的访问控制符。(C)A)publicB)privateC)staticD)protected15、假设有个类已经定义了下述的实例变量:intnum1=10;intnum2=20;Stringword=newString(“exam”);doubleanswer=25.5;另外定义了下列方法头:publicintstuff(Strings,intx,inty)以下哪个选择是正确的方法调用?(A)A)num1=stuff(“hello”,num1,num1);B)answer=stuff(word,answer,num2);C)num2=stuff(“hello”,num1,answer);D)num1=stuff(num1,num2,word);16、下哪一项不是构造方法的特点:(C)A构造方法名必须与类名相同;B构造方法不具有任何返回类型;C任何一个类都含有构造方法;D构造方法修饰词只能是public。17、定义类B和类C如下,并将其保存为:B.java文件,得到的结果是(B)classB{intb;B(inti){b=i;}}classCextendsB{doublec=7.8;}A)代码能够成功编译运行B)代码无法编译因为类B不是一个应用程序或小程序C)代码无法编译,因为类B没有定义不带参数的构造方法D)代码无法编译,因为类B没有定义一个不带参数的构造方法18、设已声明了一个类A的两个对象a1,a2,为了初始化a1和a2,下面语句正确的是(D)A)a1,a2=newA();B)a1=A.new();a2=A.new();C)a1=new();a2=new();D)a1=newA();a2=newA();19、下列选项中,用于在定义包时声明包名的关键字是。(B)A)importB)packageC)interfaceD)protected20、下面关于继承的哪些叙述是正确的?(A)A)在java中只允许单一继承。B)在java中一个类只能实现一个接口。C)在java中一个类不能同时继承一个类和实现一个接口。D)java的单一继承使代码更可靠。21、定义一个类名为MyClass.java的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:(D)A)privateclassMyClassextendsObjectB)classMyClassextendsObjectC)publicclassMyClassD)publicclassMyClassextendsObject22、指出下列哪个方法与方法publicvoidadd(inta){}为合理的重载方法。(D)A)publicintadd(inta)B)publiclongadd(longa)C)publicvoidadd(inta,intb)D)publicvoidadd(floata)23、类Line的定义classLine{privateinta,b;publicLine(intx,inty){this.x=x;this.y=y;}}其中的this代表?(C)A)类名LineB)父类的对象C)Line类的当前对象D)this指针24、在Java语言中,类Cat是类Animal的子类,Cat的构造方法中有一句“super()”,该语句表达了什么概念?(C)A)调用类Cat中定义的super()方法B)调用类Animal中定义的super()方法C)调用类Animal的构造方法D)语法错误25、某类的成员方法只能被自己调用,声明该函数恰当修饰符是?(C)A)publicB)protectedC)privateD)无修饰符26、下面关于变量及其范围的陈述哪些是对的?(C)A)实例变量是类的成员变量。B)实例变量用关键字static声明。C)在方法中定义的局部变量在该方法被执行时创建。D)局部变量在使用前必须被初始化。27、在java中,哪一个关键字使类不能派生出子类。(A)A)finalB)publicC)privateD)volatile28、下列整型的最终属性i的定义中,正确的是(C)A)finali;B)staticinti;C)staticfinalinti=234;D)finalfloati=3.14f;三、程序阅读题1、阅读下面的程序,程序保存为Test.java:1)publicclassTest2){3)shortmValue;4)publicstaticvoidmain(String[]args)5){6)inta=32;7)intb=56;8)Testos=newTest(a+b);9)os.Show();10)}11)protectedTest(shortaValue){mValue=aValue;}12)publicvoidShow(){System.out.println(mValue);}13)}上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?第8行出错,原因是该类缺少一个具有一个整形形参的构造函数。2、阅读下面的程序:1)publicclasstest2){3)publicstaticvoidmain(Stringargv[])4){5)Birdb=newBird();6)b.Fly(3);7)}8)}9)classBird10){11)staticintType=2;12)privatevoidFly(intan_Type)13){14)Type=an_Type;15)System.out.println(Flying...+Type);16)}17)}上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?第六行出错,原因在于一个类中静态方法不能调用实例方法。3、阅读下面的程序:1)abstractclassBase{2)abstractpublicvoidmyfunc();3)publicvoidanother(){4)System.out.println(Anothermethod);5)}6)}7)publicclassAbsextendsBase{8)publicstaticvoidmain(Stringargv[]){9)Baseb=newAbs();10)b.another();11)}12)publicvoidmyfunc(){13)System.out.println(MyFunc);14)}15)publicvoidanother(){16)myfunc();17)}18)}以上程序经编译后,运行结果是什么?MyFunc4、阅读下面的程序:1)classSuper{2)publicinti=0;3)publicSuper(){4)i=1;5)}6)}7)publicclassSubextendsSuper{8)publicSub(){9)i=2;10)}11)publicstaticvoidmain(Stringa
本文标题:第三章 面向对象程序设计(答案)
链接地址:https://www.777doc.com/doc-7025820 .html