《Java面向对象测试题及其答案 (1).docx》由会员分享,可在线阅读,更多相关《Java面向对象测试题及其答案 (1).docx(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Java面向对象测试题及其答案您的姓名:填空题*1 .以下不属于面向对象编程的特性的是单项选择题*A .封装B .继承C .接口 (正确答案)D .多态.下述概念中不属于面向对象的是单项选择题*A .对象B .继承、多态C .类、封装D .过程调用(正确答案)2 .对象是Java中很重要的概念,以下说法中能准确地描述对象的是单项选择题*A ,对象是类的具体实例,可以操作数据的方法(正确答案)B .对象是抽象的,类可以通过对象来生成C.对象只是方法的集合D.对象是一组具有共同的结构和行为的类.下面有关变量及其作用域的陈述哪一项为哪一项错误的?单项选择题*A.在方法里面定义的局部变量在方法退出的时
2、候被撤销B.局部变量只在定义它的方法内有效C.在方法外面定义的实例变量在对象被构造时创立.以下说法正确的选项是12345678910111213141516171819202122class Db String str;B DbO (str = n example1; Db(String s) str = s;)早class DbTestl extends Db ) public class DbTest2 public static void main(String args) Db d = new Db(Java)单项选择题DbTestl d1 = new DbTestl ( guigu
3、);第4行会导致错误第8行会导致错误第19行会导致错误第20行会导致错误(正确答案).对于instanceof说法正确的选项是单项选择题*instanceof用来比拟两个对象是否相等instanceof可用来判断某个实例变量是否属于某种类的类型。(正确答案)instanceof用来比拟两个值是否相等instanceof用来比拟两个地址值是否相等16 .以下选项说法错误的选项是单项选择题*成员变量可以不用初始化局部变量可以不用初始化(正确答案)局部变量存在于栈中成员变量存在于堆中.已定义了 Demo类 创立数组Demo d = new Demo3;那么以下选项不会导致程序 出错的是单项选择题*d
4、3=new Demo();d0=a;d2=naM;dl=null;(正确答案)17 .以下代码,运行结果为public class DbTest2 public static void main(String args) String s = woaiguigu”;Db d = new Db();d m(s);Systema=ll;m(mm);SysterrieOut a=l;class MyMath int a;单项选择题*1111(正确答案)1112.在Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确 的是单项选择题*A.C不仅继承了 B中的成员,同样也继承了 A中的成
5、员正确答案)B.C只继承了 B中的成员C.C只继承了 A中的成员D.C不能继承A或B中的成员24 .在Java中,关于构造方法,以下说法错误的选项是()单项选择题*构造方法的名称必须与类名相同构造方法可以带参数构造方法不可以重载正确答案)构造方法绝对不能有返回值.给定java程序,如下:public class Testprivate static final int counter=10;public static void main(String args) System.out.println(+counter);编译运行Test.java,结果是单项选择题A、10B、11c、编译错误(
6、正确答案)D、运行时出现异常25 .在Java中,以下修饰符从小到大排列顺序正确的选项是单项选择题*A.private、缺省、protected、 public(正确答案)B.缺省、private s protected、publicC.privates protected、缺省、publicD.缺省、protected、private s public.声明为static的方法不能直接访问()类成员。单项选择题*A、超类B、子类C、非static(正确答案)D、用户自定义类27 .关于return语句,描述正确的选项是()单项选择题*A、不能用来返回对象B、只可以返回数值C、方法都必须含有D
7、、一个方法中可以有多个return语句(正确答案).编译下面程序,结果是public class Apublic static void main(StringJ args) B b=new B();b.test();)void test() System. out. print。A);)class B extends Avoid test()super.test();System.out.print(nBn);单项选择题*A、产生编译错误B、代码可以编译运行,并输出结果:AB(正确答案)C、代码可以编译运行,但是没有输出D、编译没有错误,但是会在运行中出错28 .以下方法定义中,方法头不正确
8、的选项是()单项选择题*A、void x(double b)B、public static int x(int y) return y;C、public static x(double b) return b;二确答案)D、public int x() return 0;.设A为已定义的类名,以下声明对象a的语句中错误的选项是*A . public A a =new A();B . Aa = A();(正确答案)C . A a = new A();D . a A;(正确答案)29 .以下描述成员变量和局部变量的区别正确的选项是*A.成员变量作为类的成员直接存在类中,可以通过this引用(正确答
9、案)B.局部变量在方法定义或声明上(正确答案)C.成员变量有默认值初始化(正确答案)D.局部变量必须定义赋值才能用(正确答案).给出如下类定义:public class Test Test(int i) 如果要创立一个该类的对象,错误的语句是*A . Test t 二 new Test。;(正确答案)B . Test t 二 new Test(5);C . Testt = newTest(5);(正确答案)D . Test t = new Test(3.4);(正确答案)33 .如果想限制在当前类之外对某个成员的访问,不应选择以下哪一种修饰符*public(正确答案)protected1正确答
10、案)缺省(正确答案)private.在类中已定义了 public void m(int s) 方法,以下方法与m构成重载的是*public void m(String s) (正确答案)public void m(int a) (正确答案)public int m(int i) return i; public String m(int a,String s) return s; (正确答案)34 .分析选项中关于Java中this和super关键字的说法正确的选项是()*this关键字是在对象内部指代自身的引用(正确答案)super关键字是在子类对象内部指代其父类对象的引用(正确答案)thi
11、s关键字和类关联,而不是和特定的对象关联子类通过super关键字只能调用父类的方法,而不能调用父类的属性.以下说法正确的选项是*标准的set方法写法为【修饰符】void set属性名(属性的数据类型形参名).属 性名=形参名;(正确答案)类里面一定要有getset方法属性值的权限修饰符是private想从类外部修改或者获取值必须要有getset方法(正 确答案)除boolean类型属性外标准的get方法写法为【修饰符】属性的数据类型get属性 名() return属性名;(正确答案)35 . Java中有关final关键字,以下说法正确的选项是*A、final关键字修饰变量,表示该变量不能被修
12、改(正确答案)B、final关键字修饰方法,表示该方法不能被重写(正确答案)C、final关键字修饰类,表示该类不能被继承(正确答案)D、final的作用是用来保证变量不可变,static作用于成员变量表示内存中一份存 储空间,值可改变正确答案).以下对Java中变量的使用说法正确的选项是*A、声明变量可以指定数据类型,也可以不指定B、变量名采用任意命名的方式,尽量做到见名知意c、局部变量声明后,要为其赋一个确定的初值后再使用;正确答案)D、变量是指在内存中开辟的存储空间中存放的运算过程中需要用到的数据(正确 答案)36 .在Java中,多态的实现不仅能减少编码的工作量,还能大大提高程序的可维
13、护性及可扩展性,那么实现多态的步骤以下正确的选项是*A、子类重写父类的方法(正确答案)B、子类重载同一个方法(正确答案)C、定义方法时,把父类类型作为参数类型;调用方法时,把父类或子类的对象作 为参数传入方法(正确答案)D、运行时,根据实际创立的对象类型动态决定使用哪个方法(正确答案)对于这段时间的学习和辅导有什么想说的:填空题*D .在方法中定义的参数变量只要该对象被需要就一直存在(正.以下方法的声明中不合法的是单项选择题*A . float play() return 1; B . void play(int d,e) E确答案)C . double play(int d) return
14、2.0; D . int play(int r) return 1; 5 .以下哪个方法不能与方法public void add(int a) 重载?单项选择题*A . public int add(int b) (正确答案)B . public void add(double b) C . public void add(int a, int b) D . public void add(float g) .以下有关构造方法描述正确的选项是单项选择题*A.所有类都必须定义一个有参构造方法.构造方法必须有返回值C.构造方法必须访问类的非静态成员D .构造方法可以初始化类的成员变量(正确答案)8
15、 .以下代码的执行结果是class Db , public void show()System, ou t. print In (父类 show 方法;class Dbl extends Db public void show()System .ou t. print In (子类 show 方法”);public void method()System .out. print In (子类met hod方法”); public class DbTest2 extends Db public static void main(String args) Db d = new Dbl();desh
16、ow();单项选择题*父类show方法子类show方法(正确答案)子类method方法父类show方法子类show方法子类method方法9 .以下代码输出的结果是class Db Db() int a = 1;Systemeout.println(a);Ipublic class DbTest2 extends Db public static void main(String args) int a = 200;DbTest2 d = new DbTest2();SystemoutprintIn(a);单项选择题*20011200(正确答案)200 110 .程序将出现何问题class D
17、b String objType;am a Base type;am a Base type;Db()( objType = HI)| public class DbTest2 extends Db , DbTest2() objType = 111 am a Derived type”;)public static void main(String args) DbTest2 d = new DbTest2();)单项选择题*运行程序将指示第1和7行有问题编译程序将指示第1和7行有问题程序输出 I am a Base type 和 I am a Derived type没有问题(正确答案)1
18、1 .在子类DbTest2的方法m()中不可以操作的变量是class Dbprivate int i = 20;protected int j = 30;public int k = 40;int h = 50;public class DbTest2 extends Db void m()单项选择题*hki(正确答案)J12 .以下代码运行结果class Db int i = 20;int j = 30;void f() Systemeout print (11 + i);public class DbTest2 extends Db int i = 30;int k = 40;void f
19、() Systemout print (11 + i);void g() Systemeouteprint( + k);public static void main(String args) Db d = new DbTest2();Systemeoutprintln(di);df();DbTest2 d2 = (DbTest2) d;Systemeouteprintln(d2i);d2.f();i单项选择题*30 30 303020 20 20 2020 30 303020 3030 30(正确答案)13 .下面关于多态性的说法,正确的选项是单项选择题*类里面不能有重名方法子类中不能有和父
20、类重名的方法子类中可以有和父类重名且参数相同的方法(正确答案)多态性指的是方法名字可以不一样,但是返回值必须不一样14 .程序的执行结果是class Db (public void printValue() System.out. printIn(1);1-1 public void printValue(int i) Sy st em. out print In (11211);public class Woman extends Db 广 public void printValue() System out e print In (113U);二public void printValu
21、e(int i) System.out printIn(4);Db dDb d- public static void main(String args) =new Woman。;dprintValue(10);单项选择题*234(正确答案)15.类 Teacher 和 Student 是类 Person 的子类:Person p;Teacher t;Student s;p,t and s are all non-nulLif(t instanceof Person) s=(Student)t; 以下说法正确的选项是单项选择题*编译时正确,但运行时错误将构造一个Student对象表达式是错误的:正确答案)表达式是合法的