Java继承专题笔试题(含详细答案解析)_第1页
Java继承专题笔试题(含详细答案解析)_第2页
Java继承专题笔试题(含详细答案解析)_第3页
Java继承专题笔试题(含详细答案解析)_第4页
Java继承专题笔试题(含详细答案解析)_第5页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

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

文档简介

Java继承专题笔试题(含详细答案解析)本套试题针对Java核心基础继承、重写、super关键字、构造器执行顺序、多态底层高频考点整理,适配校招、初级开发面试笔试,题型贴合企业真实出题风格,无偏题怪题,所有题目均附带详细解析与代码演示。适用人群:Java零基础进阶、面试刷题、期末复习、基础能力自测满分100分建议答题时间40分钟一、单项选择题(共10题,每题4分,共40分)1.以下关于Java继承的说法,正确的是()A.Java支持类的多继承B.子类可以继承父类的所有成员,包括私有private成员C.使用extends关键字实现类的继承D.父类的构造方法可以被子类继承2.子类重写(override)父类方法时,以下规则错误的是()A.方法名、参数列表必须和父类完全一致B.返回值可以是父类返回值的子类(协变返回)C.访问权限可以比父类更严格D.不能抛出比父类更大范围的异常3.关于super关键字,说法错误的是()A.super()用于调用父类无参构造方法B.super.成员变量可以访问父类的非私有成员变量C.super()必须放在子类构造方法的第一行D.super关键字可以在静态方法中使用4.Java中类的构造方法执行顺序正确的是()A.子类构造→父类构造B.父类构造→子类构造C.同步执行D.随机执行5.以下哪个方法不能被子类重写()A.publicvoidtest()B.finalvoidtest()C.protectedvoidtest()D.defaultvoidtest()6.如果父类定义了有参构造,没有无参构造,子类构造方法会()A.正常编译运行,自动调用父类无参构造B.编译报错C.自动创建父类无参构造D.程序运行时报错7.关于方法重写和方法重载,说法正确的是()A.重写发生在同一个类中B.重载发生在父子类关系中C.重写是子类对父类已有方法的重新实现D.重载要求方法名不同,参数不同8.以下关于成员变量的继承,说法正确的是()A.子类可以重写父类的成员变量B.子类定义和父类同名变量,会发生变量隐藏C.父类变量会被子类变量覆盖销毁D.成员变量支持多态特性9.下列关键字中,可以阻止类被继承的是()A.privateB.staticC.finalD.abstract10.向上转型的正确写法是()A.子类对象=父类引用B.父类引用=子类对象C.子类引用=父类对象D.父类对象=子类引用二、填空题(共5题,每题4分,共20分)1.Java中类的继承使用________关键字,接口的实现使用________关键字。2.子类重写父类方法时,访问权限修饰符范围必须________或________父类权限。3.每个子类构造方法默认第一行都会隐式调用________,除非手动指定super调用父类构造。4.静态方法________(能/不能)被重写,只会发生静态方法的隐藏。5.在Java中,所有类的顶层父类是________类。三、简答题(共3题,每题8分,共24分)1.简述继承的优缺点。2.说说super关键字的三种常用用法。3.方法重写和方法重载的核心区别是什么?四、编程题(共1题,16分)需求:编写父类Animal,子类Dog。1.父类Animal:包含属性name,无参、有参构造方法,普通方法shout()打印“动物发出叫声”;2.子类Dog:继承Animal,重写shout()方法,打印“狗狗汪汪叫”;3.测试类中分别创建父类对象、子类对象,调用shout()方法,并通过向上转型实现多态调用。完整答案+详细解析一、单项选择题答案解析1.答案:C解析:Java类只支持单继承、接口支持多继承,A错误;子类无法继承private私有成员,B错误;构造方法不能被继承,只能通过super调用,D错误。2.答案:C解析:重写规则要求访问权限只能放大、不能缩小。例如父类protected,子类可以改成public,但不能改成private。3.答案:D解析:super代表父类对象,静态方法属于类,不属于对象,因此静态方法中不能使用super、this关键字。4.答案:B解析:创建子类对象时,会先初始化父类,执行父类构造方法,再执行子类构造方法,这是Java继承的固定初始化顺序。5.答案:B解析:被final修饰的方法为最终方法,禁止被重写、禁止被修改。6.答案:B解析:当类中手动定义了有参构造,编译器不会自动生成无参构造。子类构造默认会调用父类无参构造,找不到则直接编译报错,需要手动写super(参数)调用父类有参构造。7.答案:C解析:重载是同类中,方法名相同、参数列表不同;重写是父子类中,子类重新实现父类方法。8.答案:B解析:成员变量没有重写概念,子类与父类同名变量为变量隐藏,父类变量依然存在,只是子类默认访问自身变量,且变量不具备多态特性。9.答案:C解析:final修饰类,类不可被继承;final修饰方法,方法不可重写;final修饰变量,变量不可修改。10.答案:B解析:向上转型是多态的基础,语法:父类引用指向子类对象,自动转换无需强转。二、填空题答案1.extends、implements2.大于、等于3.super()4.不能5.Object三、简答题答案解析1.继承的优缺点优点:①代码复用,父类通用代码可被多个子类直接使用,减少冗余;②便于功能扩展,子类可在父类基础上新增特性;③为多态提供基础,提升程序扩展性。缺点:①类与类之间耦合度提高,父类修改会影响所有子类;②破坏类的封装性,父类部分成员会暴露给子类;③单继承限制,无法同时继承多个父类。2.super关键字三种常用用法①调用父类构造方法:super()调用无参构造,super(参数)调用有参构造,必须在子类构造第一行;②访问父类成员变量:当子类变量与父类同名时,用super.变量名访问父类变量;③调用父类成员方法:当子类重写父类方法后,用super.方法名()调用父类原方法逻辑。3.重写与重载核心区别①发生场景:重载在同一个类;重写在父子类继承关系中;②方法规则:重载方法名相同、参数列表不同;重写方法名、参数列表必须完全一致;③权限要求:重载无权限限制;重写权限只能放大不能缩小;④多态支持:重载编译期绑定(静态绑定);重写运行期绑定(动态绑定,支撑多态)。四、编程题参考答案(可直接运行)java

//父类:动物类

classAnimal{

Stringname;

//无参构造

publicAnimal(){

}

//有参构造

publicAnimal(Stringname){

=name;

}

//普通方法

publicvoidshout(){

System.out.println("动物发出叫声");

}

}

//子类:狗狗类,继承动物

classDogextendsAnimal{

//重写父类叫声方法

@Override

publicvoidshout(){

System.out.println("狗狗汪汪叫");

}

}

//测试类

publicclassTestInherit{

publicstaticvoidmain(String[]args){

//父类对象调用方法

Animalanimal=newAnimal();

animal.shout();

//子类对象调用方法

Dogdog=newDog();

dog.shout();

//向上转型,多态调用

Animala=newDog();

温馨提示

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

评论

0/150

提交评论