(完整版)面向对象专题练习_第1页
(完整版)面向对象专题练习_第2页
(完整版)面向对象专题练习_第3页
(完整版)面向对象专题练习_第4页
(完整版)面向对象专题练习_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、*专题5 面向对象、填空题1. 如果一个方法不返回任何值,则该方法的返回值类型为void 。(/有无返 回值的意义何在? ?)2. 如果子类中的某个方法名、返回值类型和_参数列表与父类中的某个方 法完全一致,则称子类中的这个方法覆盖了父类的同名方法。3. 接口中所有的属 性均为_public_、_final和_static_的,方 法(public abstract )4. 抽象 方法是一种仅有方法声明,没有具体方法体和操作实现的方法,该 方法必须在 具体 类之中定义。5. 在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。6. 一般Java程序的类主体由两

2、部分组成:一部分是 属性 ,另一部分是 方 法 。7. 分别用class关键字来定义类,用new关键字来分配实例存储空间。8. 当一个类的修饰符为final时,说明该类不能被继承,即不能有子类。9. 在Java中,能实现多重继承效果的方式是接口 。、选择题1 . 方法内定义的变量(B)。A. 一定在方法内所有位置可见C在方法外可以使用2. 方法的形参()。A. 可以没有C.必须定义多个形参3. return 语句()。A. 不能用来返回对象C方法都必须含有B.可能在方法的局部位置可见(for循环)D.在方法外可见B. 至少有一个D.只能是简单变量B. 只可以返回数值D. 一个方法中可以有多个(

3、但是返回只有一个)4. ma in()方法的返回值类型是()A. booleanB. intC. voidD. static5. 编译并运行下面的程序,运行结果是()。public class Apublic static void mai n( Stri ng args)A a=new A();a.method(8);void method(i nt i)System.out.pri ntl n(”r+:i);void method(lo ng i)System.out.pri ntln(“ 恪 ngi);A. 程序可以编译运行,输出结果为:“ int: 8 ”B程序可以编译运行,输出结果为

4、:“ long: 8”C. 程序有编译错误,因为两个 method()方法必须定义为静态(static)的D. 程序可以编译运行,但是没有输出6. 能作为类及其成员的修饰符是()。A. in terfaceC. protected7. 下列方法定义中,方法头不正确的是()。A. public static x(double a)C. void x(double d)&构造方法在()时被调用。A. 类定义时C.调用对象方法时9. 下列哪个类声明是正确的()。A. public abstract class CarC. protected private number;10. 下列不属于面

5、向对象程序设计的基本特征的是(A.抽象C.继承11. 请看下面的程序段class Pers onB. classD. publicB. public static int x(double y)D. public int x()B. 使用对象的变量时D.创建对象时B. abstract private move() D. abstract fin al class H1)。B封装D.静态B. this(Person(n,a)D. this(name.age)B.将 private int m 改成 publicD. 将 private int m 改成 int m)。B. public A(i

6、ntD. int A(int B输出0D.当运行时有错误出现String n ame,departme nt; int age;public Pers on( Stri ng n)n ame=n;public Pers on( Stri ng n ,i nt a) name=n; age=a;public Person(String n, String d, int a )/doing the same as two argume nts version if con structer下面那个选项可以添加到 /doing the same 处(C )A. Person(n,a)C. this(

7、n,a)12. 请看下面的程序段class Testprivate int m;public static void fun()/some code方法fun()如何来访问变量m ( C )A. 将 private int m 改成 protected int m int mC. 将 private int m 改成 static int m13. 有一个类A,对于其构造函数的声明正确的是A. void A(int x)C. A A(int x)-14. 请看下面的程序段public class Testlong a=new Iong10; 这里没有 static 修饰pubic static

8、 void main(String args)System.out.pri ntln (a 6);哪一个选项是正确的( C )。A. 不输出任何内容C. 当编译时有错误出现15.关键字(B )表明一个对象或变量在初始化后不能修改。A. extendsB. finalC. this16.声明为static的方法不能访问(C )类成员。A.超类D. finalizeB子类C.非 staticD.用户自定义类17. 定义类A如下:class Aint a,b,c;public void B(i nt x,i nt y, int z) a=x;b=y;c=z;下面对方法B的重载哪些是正确的(C )。A

9、. public void A(int x1,int y1, int z1) a=x1;b=y1;c=z1;B. public void B(int x1,int y1, int z1) a=x1;b=y1;c=z1;C. public void B(int x,int y) a=x;b=y;c=0;D. public B(int x,int y, int z) a=x;b=y;c=z;18.编译运行下面的程序,结果是()。public class Apublic static void main(String args)B b=new B(); b.test();void test() Sy

10、stem.out.pri nt(class B exte nds A void test() super.test(); System.out.pri nt( A.产生编译错误“A”);“B”);B.代码可以编译运行,并输出结果:ABC代码可以编译运行,但没有输出19.已知类关系如下:Class Employee。Class Man ager exte nds EmployeeClass Director exte nds Employee 则下列语句正确的是:()。A. Employee e=new Manager();C. Director d =new Employee ();D.编译没

11、有错误,但会产生运行时异常B. Director d=new Manager();D. Manager m=new Director ();20.接口是Java面向对象的实现机制之一,以下说法正确的是( B )。A. Java支持多重继承,一个类可以实现多个接口B. Java只支持单重继承,一个类可以实现多个接口C. Java只支持单重继承,一个类可以实现一个接口D. Java支持多重继承,但一个类只可以实现一个接口21.下列方法的声明中不合法的是。A. float area( )B. void area( )C. areaD. int area(int r)22、下面哪个包是编程时不需要导入

12、就可以直接使用的A. java .netB. java .lang C. java.sqlD. java.util23、 调用构造方法是在。A.类定义时B创建对象时C.调用对象的方法时D.使用对象的变量时24、 在子类构造方法的哪个地方可以调用其父类的构造方法_B_。A. 任何地方B. 构造方法的第一条语句C. 构造方法的最后一条语句D. 无法在子类构造方法中调用父类的构造方法25、关于Java中的继承,下列说法错误的是 。A.继承是面向对象编程的核心特征,通过继承可以更有效地组织程序结构B继承使得程序员可以在原有类的基础上很快设计出一个功能更强的新类,而 不必从头开始,避免了工作上的重复。C

13、.每一次继承时,子类都会自动拥有父类的属性和方法,同时也可以加入自己的一些特性,使得它更具体、功能更强大。D. 继承一般有多重继承和单一继承两种方式,在单一继承中每一个类最多只有 一个父类,而多重继承则可以有多个父类。Java中的类都采用多重继承。26、当方法中的局部变量与成员变量同名时, 必须使用下列哪一个关键字指出成 员变量 C。C. thisD. newB最终(fin al)方法D. 以上都不对A. staticB. super27、什么样的方法不能被重写_B_A.私有(private)方法C.受保护(protected)的方法28、下列有关抽象类与接口的叙述中正确的是哪一个_CA. 抽

14、象类中必须有抽象方法,接口中也必须有抽象方法B. 抽象类中可以有非抽象方法,接口中也可以有非抽象方法C. 含有抽象方法的类必须是抽象类,接口中的方法必须是抽象方法D. 抽象类中的变量定乂时必须初始化,而接口中不是29、从下列程序中你发现了几处错误 D oabstract class Aabstract void f();抽象方法没有方法体。 public abstract void k();class B exte nds A protected void f()/子类修饰符必须大于父类void k()/子类修饰符必须大于父类System.out.pri nt("l am subcl

15、ass");public static void main( Stri ng args) A a=new A();a.f();/可以在本类被调用a.k();A. 1B. 2C. 3D. 430、下列程序运行的结果是_A_oin terface In terfaceA/ 接口 AString s="good "void f();class ClassA impleme nts In terfaceApublic void f()/修饰符必须大于接口的范围,对了System.out.pri nt(s);class ClassBvoid g(lnterfaceA a)/

16、g 方法传入的 a 为 interfaceA 类(接口类型引用)a. f();public class E public static void main( Stri ng args) ClassB b=new ClassB();b. g( new ClassA();A. goodB. 编译正确,但无运行结果C. 编译错误:b.g( new ClassA() D.以上都不对31、下列类的声明中不合法的是 A 。A. class People () B. class植物C. class AD. public class 共有类32、能作为类的修饰符,也能作为类成员的修饰符的是 A 。A. pub

17、licB. extendsC. FloatD. static33、试完成下述程序片段 _Bpublic class Point int x,y;public Poin t(i nt x,i nt y)(this.x )=x;(this.y )=y;/有参构造方法A.Poi nt.xPoi nt.yB. this.x this.yC.super.x super.yD.无解34、在JAVA中,下列说法正确的是:A. 一个子类可以有多个父类,一个父类也可以有多个子类B. 个子类可以有多个父类,但一个父类只可以有一个子类C. 一个子类只可以有一个父类,但一个父类可以有多个子类D. 上述说法都不对F列哪

18、一选项正确的标识出Father是Son的35、Father 和 Son 是两个 java 类,父类?A. class Son implements FatherB. class Father implements SonC. class Father extends SonD. class Son extends Father36、重载指的是方法具有相同的名字,但这些方法的参数必须不同。 下列哪种说法不属于方法参数的不同_C/方法参数不一样,表示参数类型不同,个数不同,A.形式参数的个数不同。B. 形式参数的类型不同。C.形式参数的名字不同。D.形式参数类型的排列顺序不同。37、F列有关抽象类

19、与接口的叙述中正确的是哪一个A.抽象类中必须有抽象方法,接口中也必须有抽象方法B.抽象类中可以有非抽象方法,接口中也可以有非抽象方法C. 含有抽象方法的类必须是抽象类,接口中的方法必须是抽象方法D. 抽象类中的变量定乂时必须初始化,而接口中不是 38、从下列程序中你发现了几处错误abstract class Aabstract void f();抽象方法没有方法体。 public abstract void k();/修饰符的范围要大于等于父类的。 /default修饰符的范围要大于等于父类的。class B exte nds Aprotected void f()void k()System

20、.out.pri nt("l am subclass");public static void main( Stri ng args) A a=new A();a.f();a.k();A. 1B. 2C. 3D. 439、关于接口的定义和实现,以下描述正确的是A.接口定义的方法只有定义没有实现B.接口定义中的变量都必须写明final和staticC如果一个接口由多个类来实现,则这些类在实现该接口中的方法时采用统的代码D. 如果一个类实现接口,则必须实现该接口中的所有方法,但方法未必申明为 public三、阅读程序题1、写出运行结果:_mai nbord:华硕,cpu:_ I

21、 ntelpublic class ComputerString main bord,cpu;public Computer(Stri ng s1,Stri ng s2) main bord=s1;cpu=s2;public static void main( Stri ngargs) Computer c=new Computer"华硕”,”lntel"); System.out.pri ntl n("mai nbord:"+c.ma in bord+",cpu:"+c.cpu);2、 写出运行结果:025。 0+1+3+5+7+9

22、=25public class ExamA private static int arr = new in t5;public static void main( Stri ng args) for(int i=arr.length-1;i>=0;i-)arri = 2*i+1;String output = "0"int sum = 0;for(int i=0;i<arr.length;i+)sum += arri;output += " + " + arri;output += " = "+sum;System.out

23、.pri ntln(o utput); System.exit(0);3、写出运行结果:_Peter is 17 years old!。public class Pers onStri ng n ame;int age;public Pers on( Stri ng n ame,i nt age)(是成员变量)=name (参数); this.age=age;public static void main( Stri ngargs)Pers on c=new Pers on ("Peter",17);System.out.pri ntl n(c.n ame

24、+" is "+c.age+" years old!");4、 写出运行结果:a=60, b=20, c=30public class abcpublic static void main(String args ) SubSubClass x = new SubSubClass(10,20,30); x.show();class SuperClassint a,b;Superclass©nt aa , int bb)a=aa; b=bb;void show( )System.out.pri ntl n("a="+a+&qu

25、ot;b="+b); a=aa,b=bbclass SubClass extends SuperClassint c;SubClass(int aa,int bb,int cc)super(aa,bb);c=cc;a=aa,b=bb,c=ccclass SubSubClass extends SubClassint a;SubSubClass(int aa,int bb,int cc)super(aa,bb,cc);a=aa+bb+cc;a=10+20+30=60void show()System.out.pri ntln ("a="+a+"b=&quo

26、t;+b+"c="+c);5 下面是一个类的定义,请将其补充完整class _Stude nt/stude nt 的类Stri ng n ame;int age;Student(_Stringn ame, int a)_this_.n ame=n ame;age=a;6.下面是一个类的定义,请将其补充完整class A String s;_static_ int a=3;A(String s)this.s=s;static int getA()return a;四、编程题1. 按要求编写一个Java应用程序:(1)定义一个接口 Can Cry描述会吼叫的方法 public

27、void cry()。(2)分别定义狗类(Dog)和猫类(Cat),实现CanCry接口。实现方法的功能 分别为:打印输出“我是狗,我的叫声是汪汪汪”、“我是猫,我的叫声是喵喵喵”。(3)定义一个主类 G, 定义一个void makeCry(CanCry方法,其中让会吼叫的事物吼叫。 在main方法中创建狗类对象(dog)、猫类对象(cat)、G类对象(g), 用 g 调用 makecry 方法,让狗和猫吼叫。2、编写一个Java程序,并满足如下要求:1 )编写一个 Car 类,具有:属性:品牌(mark)String类型功能:驾驶( void drive( )2)定义Car类的子类SubCar,具有:属性:价格(price)、速度(speed)int型功能:变速(void speedChange(intnewSpeed),把新速度赋给 speed3) 定义主类E,在其main方法中创建SubCar类的两个对象:aodi和benchi 的对象并测试其对象的特性。4)输出效果如下:典迪军的价楮是巴口典迪车原来的速度是吕口 本车正在驾驶典迪丰现柱的速度是120霁驰 是!奔驰车底来的速度是勺口 生车正在驾驶奔驰牟现在的逮度是1203 某公司正进行招聘工作,被招聘人员需要填写个人信息,编写“个人简历”的封装类。 包括如下属性和对属性进行操作的方法。Stri n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论