【知识点详解】 1. 访问权限与方法重写: 在Java中,当一个子类要重写父类的方法时,子类的方法访问权限不能低于父类的访问权限。这意味着,如果父类的方法是protected或public,那么子类重写这个方法时,必须保持相同的访问权限或更开放(public)。在题目中的选项B,将访问权限改为private是不合法的,因为这是降低了访问权限。而选项C虽然改变了方法的参数类型,这属于方法的重载(Overloading),而不是重写。选项D的返回值类型从int变为short,这违反了重写规则,因为返回类型必须完全相同或父类返回类型的子类。因此,正确答案是A和C。 2. 抽象方法与静态方法: 抽象方法(abstract method)在Java中是一种没有实现的方法,用于强迫子类提供具体实现。而静态方法(static method)属于类而不是类的实例,它们在类加载时就会被绑定,不会随着对象的创建而创建。由于抽象方法是与对象实例相关的,而静态方法与对象无关,所以抽象方法不能被声明为静态。题目的答案是A,即True。 3. 父类引用指向子类对象: 当一个父类引用指向子类对象时,调用方法会根据实际的对象类型来决定执行哪个方法。在题目中,`Base baseObj = (Base)anObj; baseObj.test();` 这段代码实际上会调用子类Child的test()方法,因为baseObj引用的是Child对象。所以输出是D,即"Child.test()"。 4. 静态方法与实例方法: 静态方法不能被实例方法覆盖,因为它们不属于特定的对象实例。在题目中,Child类试图重写Base类的静态test()方法,这是不允许的。所以,这段代码在编译时会产生错误,选项C是正确的。 5. 访问控制与私有方法: 私有方法(private method)在Java中只能在定义它的类内部访问,不能被外部类或子类访问。因此,即使在子类中尝试调用父类的私有方法,也是不允许的。在题目中,Base类的test()方法是私有的,因此在main()方法中直接调用`new Base().test();`会导致编译错误。正确答案是C,即"Compilation error. Cannot override a static method by an instance method"。 以上内容详细解释了Java编程语言中关于方法重写、访问权限、抽象方法、静态方法以及私有方法的一些核心概念,这些都是Java面试和笔试中常见的知识点。掌握这些概念对于理解和编写高质量的Java代码至关重要。在面试中,对这些概念的理解和应用能力通常会被用来评估候选人的编程基础和问题解决能力。



































剩余63页未读,继续阅读

- 粉丝: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 软件工程实验心得.doc
- 面对课程改革-如何利用网络在语文阅读教学中培养学生的创新能力.docx
- 浅论计算机网络信息安全中数据加密技术.docx
- 自媒体时代网络视频传播中视觉符号意旨分析.docx
- 如何安全高效的进行大数据计算机信息处理.docx
- 浅析互联网+背景下基层党建工作创新.docx
- 大数据+营销究竟有多精准?.docx
- 自己的学习历程,重点包括各种好玩的图像处理算法、运动捕捉、机器学习
- 年度计算机机房设备战略市场规划报告.docx
- 2022 年吴恩达机器学习课程学习笔记
- 在线学习系统自动挂机机器人
- Scala编程入门与实践
- 南京大学 2019 年春季学期机器学习导论课程资料汇编
- 基于情感字典与机器学习的股市舆情情感分类可视化研究
- 基于支持向量机算法的机器学习验证码识别研究
- 唐宇迪老师主讲的机器学习系统课程



- 1
- 2
前往页