




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
*专题5 面向对象一、填空题1 如果一个方法不返回任何值,则该方法的返回值类型为 void 。(/有无返回值的意义何在?)2 如果子类中的某个方法名、返回值类型和_参数列表_与父类中的某个方法完全一致,则称子类中的这个方法覆盖了父类的同名方法。3 接口中所有的属性均为_public_、_final_和_static_的,方法(public abstract )4 抽象 方法是一种仅有方法声明,没有具体方法体和操作实现的方法,该方法必须在 具体 类之中定义。5 在Java程序中,通过类的定义只能实现 单 重继承,但通过 接口 的定义可以实现多重继承关系。6 一般Java程序的类主体由两部分组成:一部分是 属性 ,另一部分是 方法 。7 分别用 class 关键字来定义类,用 new 关键字来分配实例存储空间。8 当一个类的修饰符为 final 时,说明该类不能被继承,即不能有子类。9 在Java中,能实现多重继承效果的方式是 接口 。二、选择题1 方法内定义的变量(B)。A一定在方法内所有位置可见 B可能在方法的局部位置可见(for循环)C在方法外可以使用 D在方法外可见2 方法的形参()。A可以没有B至少有一个C必须定义多个形参 D只能是简单变量3 return语句()。A不能用来返回对象 B只可以返回数值C方法都必须含有 D一个方法中可以有多个(但是返回只有一个)4 main()方法的返回值类型是()AbooleanBintCvoid Dstatic5 编译并运行下面的程序,运行结果是( )。public class A public static void main(String args) A a=new A(); a.method(8); void method(int i) System.out.println(“int: ”+i); void method(long i) System.out.println(“long: ”+i); A程序可以编译运行,输出结果为:“int: 8” B程序可以编译运行,输出结果为:“long: 8” C程序有编译错误,因为两个method()方法必须定义为静态(static)的D程序可以编译运行,但是没有输出6 能作为类及其成员的修饰符是( )。AinterfaceBclassCprotected Dpublic7 下列方法定义中,方法头不正确的是( )。Apublic static x(double a) Bpublic static int x(double y)Cvoid x(double d) Dpublic int x()8 构造方法在( )时被调用。A类定义时B使用对象的变量时C调用对象方法时 D创建对象时9 下列哪个类声明是正确的( )。Apublic abstract class CarBabstract private move()Cprotected private number; Dabstract final class H110 下列不属于面向对象程序设计的基本特征的是( )。A抽象 B封装C继承 D静态11 请看下面的程序段class Person String name,department;int age;public Person(String n)name=n;public Person(String n,int a)name=n; age=a;public Person(String n, String d, int a )/doing the same as two arguments version if constructer下面那个选项可以添加到/ doing the same处( C )APerson(n,a) Bthis(Person(n,a)Cthis(n,a) Dthis(name.age)12 请看下面的程序段class Test private int m;public static void fun() /some code方法fun()如何来访问变量m( C )A将private int m 改成protected int m B将private int m 改成public int mC将private int m 改成static int m D将private int m 改成int m 13 有一个类A,对于其构造函数的声明正确的是( )。Avoid A(int x)Bpublic A(int x)CA A(int x)Dint A(int x)14 请看下面的程序段public class Test long a=new long10;/这里没有static修饰 pubic static void main(String args)System.out.println(a6);哪一个选项是正确的( C )。A不输出任何内容B输出0C当编译时有错误出现 D当运行时有错误出现15 关键字(B )表明一个对象或变量在初始化后不能修改。Aextends BfinalCthis Dfinalize16 声明为static的方法不能访问(C )类成员。A超类 B子类C非static D用户自定义类17 定义类A如下:class A int a,b,c; public void B(int x,int y, int z) a=x;b=y;c=z;下面对方法B的重载哪些是正确的(C )。Apublic void A(int x1,int y1, int z1) a=x1;b=y1;c=z1;Bpublic void B(int x1,int y1, int z1) a=x1;b=y1;c=z1;Cpublic void B(int x,int y) a=x;b=y;c=0; Dpublic B(int x,int y, int z) a=x;b=y;c=z;18 编译运行下面的程序,结果是( )。public class A public static void main(String args)B b=new B();b.test(); void test()System.out.print(“A”); class B extends A void test()super.test();System.out.print(“B”); A产生编译错误 B代码可以编译运行,并输出结果:ABC代码可以编译运行,但没有输出 D编译没有错误,但会产生运行时异常19 已知类关系如下:Class EmployeeClass Manager extends EmployeeClass Director extends Employee则下列语句正确的是:( )。AEmployee e=new Manager(); BDirector d=new Manager();CDirector d =new Employee (); DManager m=new Director ();20 接口是Java面向对象的实现机制之一,以下说法正确的是(B )。AJava支持多重继承,一个类可以实现多个接口BJava只支持单重继承,一个类可以实现多个接口CJava只支持单重继承,一个类可以实现一个接口 DJava支持多重继承,但一个类只可以实现一个接口21下列方法的声明中不合法的是 。Afloat area( )Bvoid area( ) CareaDint area(int r)22、下面哪个包是编程时不需要导入就可以直接使用的 。ABjava.langCjava.sqlDjava.util23、调用构造方法是在 。A类定义时B创建对象时C调用对象的方法时D使用对象的变量时24、在子类构造方法的哪个地方可以调用其父类的构造方法 B 。A任何地方B构造方法的第一条语句 C构造方法的最后一条语句 D无法在子类构造方法中调用父类的构造方法25、关于Java中的继承,下列说法错误的是 。A继承是面向对象编程的核心特征,通过继承可以更有效地组织程序结构。B继承使得程序员可以在原有类的基础上很快设计出一个功能更强的新类,而不必从头开始,避免了工作上的重复。C每一次继承时,子类都会自动拥有父类的属性和方法,同时也可以加入自己的一些特性,使得它更具体、功能更强大。D继承一般有多重继承和单一继承两种方式,在单一继承中每一个类最多只有一个父类,而多重继承则可以有多个父类。Java中的类都采用多重继承。26、当方法中的局部变量与成员变量同名时,必须使用下列哪一个关键字指出成员变量 C 。AstaticBsuperCthisDnew27、什么样的方法不能被重写 B 。A私有(private)方法B最终(final)方法C受保护(protected)的方法D以上都不对28、下列有关抽象类与接口的叙述中正确的是哪一个 C 。A抽象类中必须有抽象方法,接口中也必须有抽象方法B抽象类中可以有非抽象方法,接口中也可以有非抽象方法C含有抽象方法的类必须是抽象类,接口中的方法必须是抽象方法D抽象类中的变量定义时必须初始化,而接口中不是29、从下列程序中你发现了几处错误 D 。abstract class Aabstract void f();/抽象方法没有方法体。 public abstract void k(); class B extends Aprotected void f() /子类修饰符必须大于父类void k() /子类修饰符必须大于父类System.out.print(I am subclass);public static void main(String args) A a=new A();a.f();/可以在本类被调用 a.k();A1B2C3D430、下列程序运行的结果是 A 。interface InterfaceA /接口AString s=good ;void f();class ClassA implements InterfaceA public void f() /修饰符必须大于接口的范围,对了System.out.print(s);class ClassBvoid g(InterfaceA a) /g方法传入的a为interfaceA类(接口类型引用)a.f();public class E public static void main(String args) ClassB b=new ClassB();b.g(new ClassA();AgoodB编译正确,但无运行结果C编译错误:b.g(new ClassA()D以上都不对31、下列类的声明中不合法的是 A 。Aclass People()Bclass 植物 Cclass ADpublic class 共有类32、能作为类的修饰符, 也能作为类成员的修饰符的是 A 。ApublicBextendsCFloatDstatic33、试完成下述程序片段 B 。public class Pointint x,y;public Point(int x,int y) /有参构造方法( this.x )=x; ( this.y )=y; . APoint.x Point.yBthis.x this.yCsuper.x super.yD无解34、在JAVA 中,下列说法正确的是: 。A一个子类可以有多个父类,一个父类也可以有多个子类B一个子类可以有多个父类,但一个父类只可以有一个子类C一个子类只可以有一个父类,但一个父类可以有多个子类D上述说法都不对35、Father和Son是两个java类,下列哪一选项正确的标识出Father是Son的父类? Aclass Son implements FatherBclass Father implements SonCclass Father extends SonDclass Son extends Father 36、重载指的是方法具有相同的名字,但这些方法的参数必须不同。下列哪种说法不属于方法参数的不同 C 。/方法参数不一样,表示参数类型不同,个数不同,A形式参数的个数不同。B形式参数的类型不同。C形式参数的名字不同。D形式参数类型的排列顺序不同。37、下列有关抽象类与接口的叙述中正确的是哪一个 。A抽象类中必须有抽象方法,接口中也必须有抽象方法B抽象类中可以有非抽象方法,接口中也可以有非抽象方法C含有抽象方法的类必须是抽象类,接口中的方法必须是抽象方法D抽象类中的变量定义时必须初始化,而接口中不是38、从下列程序中你发现了几处错误 。abstract class Aabstract void f();/抽象方法没有方法体。 public abstract void k(); class B extends Aprotected void f() /修饰符的范围要大于等于父类的。void k() /default修饰符的范围要大于等于父类的。System.out.print(I am subclass);public static void main(String args) A a=new A();a.f(); a.k();A1B2C3D439、关于接口的定义和实现,以下描述正确的是 A 。A接口定义的方法只有定义没有实现B接口定义中的变量都必须写明final和staticC如果一个接口由多个类来实现,则这些类在实现该接口中的方法时采用统一的代码D如果一个类实现接口,则必须实现该接口中的所有方法,但方法未必申明为public三、阅读程序题1、写出运行结果: mainbord:华硕,cpu: Intel 。public class ComputerString mainbord,cpu;public Computer(String s1,String s2)mainbord=s1;cpu=s2;public static void main(Stringargs)Computer c=new Computer(华硕,Intel);System.out.println(mainbord:+c.mainbord+,cpu:+c.cpu);2、写出运行结果: 025 。0+1+3+5+7+9=25public class ExamA private static int arr = new int5; public static void main(String args) for(int i=arr.length-1;i=0;i-) arri = 2*i+1; String output = 0; int sum = 0; for(int i=0;iarr.length;i+) sum += arri; output += + + arri; output += = +sum; System.out.println(output); System.exit(0); 3、写出运行结果: Peter is 17 years old! 。public class PersonString name;int age;public Person(String name,int age)(是成员变量)=name(参数);this.age=age;public static void main(Stringargs)Person c=new Person(Peter,17);System.out.println(+ is +c.age+ years old!);4、写出运行结果:a=60,b=20,c=30 public class abcpublic static void main(String args ) SubSubClass x = new SubSubClass(10 , 20 , 30);x.show();class SuperClass int a,b;SuperClass(int aa , int bb) a=aa; b=bb; void show( ) System.out.println(a=+a+ b=+b); /a=aa,b=bbclass SubClass extends SuperClass int c;SubClass(int aa,int bb,int cc) super(aa,bb);c=cc; /a=aa,b=bb,c=ccclass SubSubClass extends SubClass int a;SubSubClass(int aa,int bb,int cc) super(aa,bb,cc);a=aa+bb+cc; /a=10+20+30=60void show()System.out.println(a=+a+ b=+b+ c=+c); 5下面是一个类的定义,请将其补充完整 class _Student_/student的类 String name; int age; Student(_String_ name, int a) _this_.name=name; 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)定义一个接口CanCry,描述会吼叫的方法public void cry()。(2)分别定义狗类(Dog)和猫类(Cat),实现CanCry接口。实现方法的功能分别为:打印输出“我是狗,我的叫声是汪汪汪”、“我是猫,我的叫声是喵喵喵”。(3)定义一个主类G, 定义一个void makeCry(CanCry c)方法,其中让会吼叫的事物吼叫。在main方法中创建狗类对象(dog)、猫类对象(cat)、G类对象(g),用g调用makecry方法,让狗和猫吼叫。2、编写一个Java程序,并满足如下要求:1)编写一个Car类,具有:属性:品牌(mark)String类型功能:驾驶(void drive( ))2)定义Car类的子类SubCar,具有:属性:价格(price)、速度(speed)int型功能:变速(void speedChange(int newSpeed)),把新速度赋给speed3)定义主类E,在其main方法中创建SubCar类的两个对象:aodi和benchi的对象并测试其对象的特性。4)输出效果如下:3某公司正进行招聘工作,被招聘人员需要填写个人信息,编写“个人简历”的封装类。包括如下属性和对属性进行操作的方法。String xm;/ 姓名String xb;/ 性别int nl;/ 年龄St
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年全国消毒技能竞赛试题及答案
- 2025年基层消毒培训试题及答案
- 医院VTE考核试题及答案
- 2024下半年麻醉药品培训试题含答案
- 2025年乌鲁木齐货运从业资格考试题目及答案详解
- 重症医学科2025年VTE测试试卷(含答案)
- 健身平台商业模式优化与市场竞争策略研究报告
- 农作物种植技术员数字化技能考核试卷及答案
- 镁氯化工应急处置考核试卷及答案
- 磨工数字化技能考核试卷及答案
- 2024年纺织行业招聘要点试题及答案
- 苏少版小学美术三年级上册全册教案
- 气道净化护理团体标准解读
- 医疗设备采购项目实施进度计划
- 试油监督培训班
- 实木全屋定制合同协议
- 学校财务培训课件
- 保险权益转让协议书
- 2025版校园食堂日管控、周排查、月调度记录表
- 项目规划表-数字化转型计划
- GB/T 45133-2025气体分析混合气体组成的测定基于单点和两点校准的比较法
评论
0/150
提交评论