还剩22页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
Java面向对象测试题及其答案您的姓名:[填空题]*
1.下列不属于面向对象编程的特性的是[单选题]*A.封装B.继承C.接口(正确答案)D.多态
2.下述概念中不属于面向对象的是[单选题]*A.对象B.继承、多态C.类、封装D.过程调用(正确答案)
3.对象是Java中很重要的概念,下列说法中能准确地描述对象的是[单选题]*A,对象是类的具体实例,可以操作数据的方法(正确答案)B.对象是抽象的,类可以通过对象来生成C.对象只是方法的集合D.对象是一组具有共同的结构和行为的类
4.下面有关变量及其作用域的陈述哪一项是错误的?[单选题]*A.在方法里面定义的局部变量在方法退出的时候被撤销B.局部变量只在定义它的方法内有效C.在方法外面定义的实例变量在对象被构造时创建
16.下列说法正确的是1□class Db{2String str;34B DbO5str=n example1;678□DbString s{str=s;9101112早class DbTestlextends Db{13141516□public class DbTest2{17□public static void mainString[]args{1819Db d=new DbJava20DbTestl d1=new DbTestlguigu;21第4行会导致错误22[单选题]第8行会导致错误第19行会导致错误第20行会导致错误(正确答案)
17.对于instanceof说法正确的是[单选题]*instanceof用来比较两个对象是否相等instanceof可用来判断某个实例变量是否属于某种类的类型(正确答案)instanceof用来比较两个值是否相等instanceof用来比较两个地址值是否相等
18.下列选项说法错误的是[单选题]*成员变量可以不用初始化局部变量可以不用初始化正确答案局部变量存在于栈中成员变量存在于堆中
19.已定义了Demo类创建数组Demo[]d=new Demo
[3];则下列选项不会导致程序出错的是[单选题]*d
[3]=new Demo;d
[0]=a;d
[2]=n aM;d[l]=null;正确答案
20.已知下列代码,运行结果为public class DbTest2{public staticvoid mainString[]args{String s=woaiguigu”;Db d=new Db;d ms;Systemoi/t•printlns;}}class Db{,void mString s{s=new StringCguigu11;}}[单选题]*guigu woaiguiguguigu woaiguigu正确答案运行出错
21.对于形参和实参下列说法正确的是[单选题]*实参和给形参赋值的数据类型不用一一对应实参给形参赋值的永远是数据值实参给形参赋值的永远是地址值实参给形参赋值的时候可能是地址值也可能是数据值正确答案
22.定义下列代码,程序运行的结果是public class DbTest2{public staticvoid mainString[]args MyMathmm=new MyMath;mma=ll;mmm;SysterrieOutprintlnmme a;}二staticvoid mMyMath m{m a=l;}}class MyMath{int a;}[单选题]*1111正确答案
111223.在Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是[单选题]*A.C不仅继承了B中的成员,同样也继承了A中的成员正确答案B.C只继承了B中的成员C.C只继承了A中的成员D.C不能继承A或B中的成员
24.在Java中,关于构造方法,下列说法错误的是[单选题]*构造方法的名称必须与类名相同构造方法可以带参数构造方法不可以重载正确答案构造方法绝对不能有返回值
25.给定java程序,如下public classTest{private staticfinal intcounter=10;public staticvoid mainString[]args{System.out.println++counter;编译运行Test.java,结果是[单选题]A、10B、11c、编译错误(正确答案)D、运行时出现异常
26.在Java中,下列修饰符从小到大排列顺序正确的是[单选题]*A.private、缺省、protected、public正确答案B.缺省、private sprotected、public C.privates protected、缺省、public D.缺省、protected、private spublic
27.声明为static的方法不能直接访问()类成员[单选题]*A、超类B、子类C、非static(正确答案)D、用户自定义类
28.关于return语句,描述正确的是()[单选题]*A、不能用来返回对象B、只可以返回数值C、方法都必须含有D、一个方法中可以有多个return语句(正确答案)
29.编译下面程序,结果是public classA{public staticvoid main(String[J args){B b=new B;b.test;void test{System.out.printA;}class Bextends A{void test{super.test;System.out.print nB n;}}[单选题]*A、产生编译错误B、代码可以编译运行,并输出结果AB正确答案C、代码可以编译运行,但是没有输出D、编译没有错误,但是会在运行中出错
30.下列方法定义中,方法头不正确的是[单选题]*A、void xdouble b{}B、public staticint xinty{return y;}C、public staticx(doubleb){return b;}二确答案)D、public intx(){return0;}
31.设A为已定义的类名,下列声明对象a的语句中错误的是*A.public A a=new A();B.Aa=A();(正确答案)C.Aa=new A();D.a A;(正确答案)
32.以下描述成员变量和局部变量的区别正确的是*A.成员变量作为类的成员直接存在类中,可以通过this引用(正确答案)B.局部变量在方法定义或声明上(正确答案)C.成员变量有默认值初始化(正确答案)D.局部变量必须定义赋值才能用(正确答案)
33.给出如下类定义public classTest{Test(int i){如果要创建一个该类的对象,错误的语句是*A.Test t二new Test;(正确答案)B.Test t二new Test5;C.Testt=newTest
(5);(正确答案)D.Test t=new Test(
3.4);(正确答案)
34.如果想限制在当前类之外对某个成员的访问,不应选择下列哪一种修饰符*public(正确答案)protected1正确答案)缺省(正确答案)private
35.在类中已定义了public voidm(int s){}方法,下列方法与m构成重载的是*public voidm(String[]s){}(正确答案)public voidm(int[]a){}(正确答案)public intm(int i){return i;}public Stringm(int[]a,Strings){return s;}(正确答案)
36.分析选项中关于Java中this和super关键字的说法正确的是()*this关键字是在对象内部指代自身的引用(正确答案)super关键字是在子类对象内部指代其父类对象的引用(正确答案)this关键字和类关联,而不是和特定的对象关联子类通过super关键字只能调用父类的方法,而不能调用父类的属性
37.下列说法正确的是*标准的set方法写法为【修饰符】void set属性名(属性的数据类型形参名){....属性名=形参名;}(正确答案)类里面一定要有getset方法属性值的权限修饰符是private想从类外部修改或者获取值必须要有getset方法(正确答案)除boolean类型属性外标准的get方法写法为【修饰符】属性的数据类型get属性名(){・…return属性名;}(正确答案)
38.Java中有关final关键字,下列说法正确的是*A、final关键字修饰变量,表示该变量不能被修改(正确答案)B、final关键字修饰方法,表示该方法不能被重写(正确答案)C、final关键字修饰类,表示该类不能被继承(正确答案)D、final的作用是用来保证变量不可变,static作用于成员变量表示内存中一份存储空间,值可改变正确答案)
39.下列对Java中变量的使用说法正确的是*A、声明变量可以指定数据类型,也可以不指定B、变量名采用任意命名的方式,尽量做到见名知意c、局部变量声明后,要为其赋一个确定的初值后再使用;正确答案)D、变量是指在内存中开辟的存储空间中存放的运算过程中需要用到的数据(正确答案)
40.在Java中,多态的实现不仅能减少编码的工作量,还能大大提高程序的可维护性及可扩展性,那么实现多态的步骤以下正确的是*A、子类重写父类的方法(正确答案)B、子类重载同一个方法(正确答案)C、定义方法时,把父类类型作为参数类型;调用方法时,把父类或子类的对象作为参数传入方法(正确答案)D、运行时,根据实际创建的对象类型动态决定使用哪个方法(正确答案)对于这段时间的学习和辅导有什么想说的[填空题]*D.在方法中定义的参数变量只要该对象被需要就一直存在正
5.下列方法的声明中不合法的是[单选题]*A.float play{return1;}B.void playintd,e{}E确答案C.double playintd{return
2.0;}D.int playintr{return1;}
6.下列哪个方法不能与方法public voidaddint a{}重载?[单选题]*A.public int addint b{}正确答案B.public voidadddouble b{}C.public voidaddint a,int b{}D.public voidaddfloat g{}
7.下列有关构造方法描述正确的是[单选题]*A.所有类都必须定义一个有参构造方法
8.构造方法必须有返回值C.构造方法必须访问类的非静态成员D.构造方法可以初始化类的成员变量正确答案
8.下列代码的执行结果是class Db{,public voidshow{System,ou t.print In父类show方法;}}class Dblextends Db{》public voidshow{System.ou t.print In子类show方法”;}public voidmethod{System.out.print In子类met hod方法”;}}public class DbTest2extends Db{public staticvoid mainString[]args{Db d=new Dbl;deshow;}}[单选题]*父类show方法子类show方法(正确答案)子类method方法父类show方法子类show方法子类method方法
9.下列代码输出的结果是class Db{Db{inta=1;Systemeout.printlna;}}I public class DbTest2extends Db{public staticvoid mainString[]args inta=200;DbTest2d=new DbTest2;System•out•printIna;}}[单选题]*20011200正确答案
200110.程序将出现何问题classDb{String objType;Db objType=H I|am a Base type;}public classDbTest2extends Db{,DbTest2{objType=111am a Derived type”;public staticvoid mainString[]args DbTest2d=new DbTest2;}[单选题]*运行程序将指示第1和7行有问题编译程序将指示第1和7行有问题程序输出I amaBasetype和I amaDerivedtype没有问题正确答案
11.在子类DbTest2的方法m中不可以操作的变量是classDb{private int i=20;protected int j=30;public int k=40;int h=50;}public classDbTest2extends Db{voidm{}}[单选题]*h ki正确答案J
12.下列代码运行结果classDb{int i=20;intj=30;void f{Systemeout•print11+i;}}public classDbTest2extends Db{inti=30;intk=40;void f{Systemout•print11+i;}void g{Systemeouteprint+k;}public staticvoid mainString[]args{Db d=new DbTest2;Systemeout•printlnd•i;d・f;DbTest2d2=DbTest2d;Systemeouteprintlnd2•i;d
2.f;i[单选题]*30303030202020202030303020303030正确答案
13.下面关于多态性的说法,正确的是[单选题]*类里面不能有重名方法子类中不能有和父类重名的方法子类中可以有和父类重名且参数相同的方法正确答案多态性指的是方法名字可以不一样,但是返回值必须不一样
14.程序的执行结果是classDb-public voidprintValue{System.out.printIn1;}1-1public voidprintValueint i{Sy stem.out•print In11211;}}publicclassWoman extendsDb{广public voidprintValue{System•out eprint In113U;}二public voidprintValueint i{System.out・printIn4;}-public staticvoid mainString[]Db dargs=new Woman;d•printValue10;}}[单选题]*234(正确答案)
15.类Teacher和Student是类Person的子类Person p;Teacher t;Student s;〃p,t ands areall non-nulL iftinstanceof Person{s=Studentt;}下列说法正确的是[单选题]*编译时正确,但运行时错误将构造一个Student对象表达式是错误的:正确答案表达式是合法的。