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

在本篇关于杭州天丽科技有限公司面试与笔试题目的资源中,主要涉及了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程序的基础。
212 浏览量
2023-05-28 上传
207 浏览量
2025-04-05 上传
2025-04-05 上传
2025-04-05 上传
2025-04-05 上传
2025-04-05 上传

chenbq02044
- 粉丝: 0

最新资源
- 菜鸟入门:后缀表达式实现指南
- C++基础教程视频带源码,新手入门必看
- Java正则表达式jar包regex-smart: 验证、提取与清洗
- 学生成绩管理系统:C语言课程设计项目
- MATLAB数学建模配套源码深度解析
- HTML文件压缩技术:wdd-330_ivette.v.9解析
- C++课程设计项目:多功能画图板应用
- 软件工程选课系统开发文档模板
- MATLAB神经网络文字识别教程及补充样本
- 太阳系恒星运转模拟程序:MFC与OpenGL技术结合
- 全面掌握C语言:谭浩强版教程及习题解析
- C#编程实现查看本机IP地址方法
- 基于ASP.NET的C#仓库管理系统源码解析
- 2015年中国地级市shp矢量图详细解读
- VC编程必逛:精选优质编程网站推荐
- Compasso Uol项目开发:Kotlin与MVVM架构的应用