(一)选择题1)若在某一个类定义中定义有如下的方法:finalvoidworkDial()该方法属于A.本地方法B.最终方法C.静态方法D.抽象方法2)下面哪个方法与题目中的不是重载方法publicintmax(intx,inty)A.publicdoublemax(doublex,doubley)B.publicintmax(intn,intk)C.publicintmax(intx,inty,intz)D.publicdoublemax(doublen,doublek)3)为了区分类中重载的同名的不同方法,要求A.参数列表不同B.调用时用类名或对象名做前缀C.参数名不同D.返回值类型不同4)某个类中存在一个方法:voidgetSort(intx),以下能作为该方法的重载的声明的是?A.publicgetSort(floatx)B.doublegetSort(intx,inty)C.intgetSort(inty)D.voidget(intx,inty)5)A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明:Aa0=newA();Aa1=newB();Aa2=newC();问以下哪个说法是正确的?}A.只有第1行能通过编译B.第1、2行能通过编译,但第3行编译出错C.第1、2、3行能通过编译,但第2、3行运行时出错D.第1行、第2行和第3行的声明都是正确的6)设有下面两个类的定义。classPerson{longid;//身份证号Stringname;//姓名}classStudentextendsPerson{intscore;//入学总分}intgetScore(){returnscore;}}则类Person和类Student的关系是?}A.包含关系B.继承关系C.关联关系D.上述类定义有语法错误7)下列叙述中,正确的是?A.子类继承父类的所有属性和方法B.子类可以继承父类的私有的属性和方法C.子类可以继承父类的公有的属性和方法D.创建子类对象时,父类的构造方法都要被执行8)现有两个类A、B,以下描述中表示B继承自A的是?A.classAextendsBB.classBimplementsAC.classAimplementsBD.classBextendsA9)下列叙述中错误的是?A.一个子类可有多个父类B.父类派生出子类C.子类继承父类D.子类只能有一个父类10)关于继承下面说法正确的是A.子类能够继承父类私有的属性;B.子类可以重写父类的final方法;C.子类能够继承不同包父类的protected属性;D.子类能够继承不同包父类的缺省属性;11)有名字为A的包和名为B的类,下面的语句正确的是A.packageA.B;B.packageB;C.importA.*;D.importB;12)声明一个名字为P的包,下面的语句正确的是A.packagePkg;B.PackageP;C.packageP;D.packagep;13)导入包A中的类AA应该使用下面哪条语句?A.importA.AA;B.importAA.A;C.packageA;D.packageAA;14)下列针对int类型的私有属性age的访问器方法格式正确的是?A.voidgetAge(intage)B.intgetAge(intage)C.voidsetAge(intage)D.intsetAge()15)下列关于访问器方法说法正确的是?A.get方法可以读取属性的值B.set方法用来读取属性的值C.必须为每个private属性提供访问器方法D.public属性不能有访问器方法16)表示数据或方法可以只能被定义它的类访问的是A.publicB.默认的C.privateD.protected17)表示数据或方法只能被其它包中的子类访问的是A.publicB.默认的C.privateD.protected18)对于子类的构造函数说明,下列叙述中不正确的是?A.子类无条件地继承父类的无参构造函数B.子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句C.在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造函数D.子类不但可以自动执行父类的无参构造函数,也可以自动执行父类的有参构造函数19)当你编译运行下列程序代码,会得到什么结果?privateclassBase{Base(){inti=100;System.out.println(i);}}publicclassPriextendsBase{staticinti=200;publicstaticvoidmain(Stringargv[]){Prip=newPri();System.out.println(i);}}A.这段代码不能通过编译B.输出200C.输出100和200D.输出100(二)简答题1)简述修饰类的可见性修饰符有哪些及其作用?2)简述修饰类的成员的可见性修饰符有哪些及其作用?3)导入包时可导入其他包中哪些类?如何导入包p中的全部可以使用的类,请写出语句?4)包的作用是什么?如何声明一个包?5)写出set和get方法定义的格式。6)简述this和super的区别?7)super的作用有哪些?8)final修饰符都能用来修饰程序中哪些成员?9)请写出下列输出结果。classFatherClass{publicFatherClass(){System.out.println(FatherClassCreate);}}classChildClassextendsFatherClass{publicChildClass(){System.out.println(ChildClassCreate);}publicstaticvoidmain(String[]args){FatherClassfc=newFatherClass();ChildClasscc=newChildClass();}FatherClassCreateFatherClassCreateChildClassCreate10)下面是一个类的定义,填写程序空白处。classB{privateintx;privatechary;publicB(intx,chary,charj){x=i;y=j;}publicintgetX(){returnx;}publicvoidsetX(intx){this.x=x}publicchargetY(){returny;}publicvoidsetY(chary){this.y=y;}}11)定义类A和类B如下.:classA{intm=1;doublen=2.0;voidprint(){System.out.println(ClassA:m=+m+,n=+n);}}classBextendsA{floatm=3.0f;Stringn=Good.;voidprint(){super.print();System.out.println(ClassB:m=+m+,n=+n);}}问题:(1)若在应用程序的main方法中有以下语句:Aa=newA();a.print();则输出的结果如何?ClassA:m=1,n=2.0(2)若在应用程序的main方法中定义类B的对象b:Bb=newB();b.print();则输出的结果如何?ClassA:m=1,n=2.0ClassB:m=3.0,n=Good12)请写出下列输出结果。classParent{voidprintMe(){System.out.println(parent);}}classChildextendsParent{voidprintMe(){System.out.println(child);}voidprintAll(){super.printMe();this.printMe();printMe();}}classClass1{publicstaticvoidmain(String[]args){ChildmyC=newChild();myC.printAll();}}parentchildchild(三)编程题1)定义一个学生类,包括属性:学号(ID),姓名(name),成绩(score);构造方法(带三个参数);每个属性的访问器方法。2)创建类A1,实现构造方法中输出ThisisA;创建A1的子类B1,实现构造方法中输出ThisisB;创建B1的子类C1,实现构造方法中输出ThisisC。3)定义一个人类(Person),它包含属性:姓名(name),性别(sex);带两个参数的构造方法;属性的访问器方法。定义上面人类的子类学生类(Student),包括属性:学号(ID),带参数的构造方法;属性的访问器方法。