杭州天丽科技面试笔试题目解析:提升编译运行理解

在本篇关于杭州天丽科技有限公司面试与笔试题目的资源中,主要涉及了Java编程的基础概念和面向对象编程的相关知识点。题目以选择题形式呈现,旨在考察应聘者对类继承、方法调用以及访问修饰符的理解。
首先,题目涉及到的是一个典型的Java类结构,包括一个基类`Base`和一个派生类`Derived`。`Base`类包含一个整型变量`i`初始化为99,以及一个公共方法`amethod()`,用于打印字符串"Base.amethod()"。`Derived`类继承自`Base`,并增加了一个额外的整型变量`i`值为-1,以及重写了父类的`amethod()`方法,使其打印字符串"Derived.amethod()"。
在`main`方法中,关键点在于第40行代码`Base b = new Derived();`,这表明在创建`Derived`类的对象时,虽然`Derived`类有自己的`amethod()`方法,但这里通过基类`Base`的引用`b`调用的是`Base`类的`amethod()`。这体现了Java的多态性,即子类可以覆盖或扩展父类的方法,但在没有明确指定调用哪个版本时,默认调用的是父类的方法。
接着,题目询问编译和运行这段代码会发生什么。根据Java的规则:
- 当执行`System.out.println(b.i)`时,由于`b`是`Derived`类型的对象,但在`Base`类中定义了`int i=99`,所以会输出`Derived`类的`i`值-1。
- 然后调用`b.amethod()`,因为`b`是`Base`类型的引用,所以会执行`Base`类的`amethod()`,输出"Base.amethod()"。
因此,正确答案是:A. `Derived.amethod() -1`,这代表会先打印出-1,然后执行基类的方法"Base.amethod()"。
这个题目考察了应聘者对面向对象编程(OOP)概念的理解,包括类的继承、实例化、方法调用和访问修饰符(在这个例子中,`amethod()`被声明为公共,可以被子类访问)。理解这些核心概念对于成功通过杭州天丽科技的面试和笔试至关重要,因为它们是编写高效、可维护的Java程序的基础。
2023-05-28 上传
512 浏览量
2025-04-03 上传
2025-04-03 上传
2025-04-03 上传
2025-04-03 上传

chenbq02044
- 粉丝: 0

最新资源
- 响应式自适应网站模板设计与实现
- 如何快速备份导出新浪微博评论数据
- Laravel框架:Web开发的优雅选择
- Java表单上传文件时参数获取问题解决方案
- STM32通过FSMC实现与NANDFLASH通信的教程
- 初中物理FLASH课件:运动的合成与分解
- 掌握MegaFiers:Unity网格变形插件深度应用
- 在win10使用VS2017成功编译OpenSSL的动态和静态库
- Eclipse ME:手机编程工具附件学习指南
- 适用于文章发布系统的网站后台管理模板
- Laravel框架深度介绍与学习资源分享
- 掌握Extjs:强大的Web开发框架介绍
- C/C++经典面试题集及答案解析
- 校园卡管理系统:三层架构的实践与探讨
- DIY版验证码识别系统组件包1.8发布
- 浙江省二级C语言考试重点难点解析