华为Java面试试题解析
需积分: 9 23 浏览量
更新于2024-09-15
1
收藏 32KB DOC 举报
"华为java面试题,包含选择题和代码分析,涉及字符串、循环、方法重写与访问控制等Java核心概念。"
在华为的Java面试中,常常会考察候选人的基础知识掌握情况和问题解决能力。以下是对给定面试题的详细解析:
1. 题目1是一个关于字符串不变性的例子。在Java中,字符串是不可变对象,意味着一旦创建,其内容不能更改。`changeStr`方法尝试改变传递的`str`变量,但实际操作的是该字符串的引用,而不是对象本身。因此,`str='welcome';`这条语句并没有改变`main`方法中的`str`,它仍然是指向'1234'的引用。所以输出结果是:
```
1234
```
2. 题目2考察了循环控制和方法调用。这是一个嵌套的条件循环,`for`循环条件由三部分组成:`foo('A')`、`foo('B')`和`(i<2)`。`foo`方法返回`true`并打印字符。首先执行`foo('A')`,然后检查`foo('B')`和`i<2`,如果都为真,则进入循环体。循环体内的`i++`使`i`在第二次迭代时变为1,导致在第二次迭代时`(i<2)`不再为真,循环结束。因此,输出结果是:
```
ABCB
```
3. 题目3考察了Java的继承和方法重写时的访问权限。类A中有一个受保护的方法`method1`。在扩展类A的类中,哪些方法是有效的?
A. `public int method1(int a, int b){return 0;}` - 正确,可以覆盖父类的受保护方法,并提高访问级别。
B. `private int method1(int a, int b){return 0;}` - 错误,不能降低访问级别。
C. `private int method1(int a, long b){return 0;}` - 错误,虽然访问级别合适,但方法签名必须保持一致。
D. `public short method1(int a, int b){return 0;}` - 正确,可以改变返回类型,只要兼容原来的返回类型。
E. `static protected int method1(int a, int b){return 0;}` - 错误,静态方法不能覆盖非静态方法。
所以,正确答案是A和D。
4. 题目4涉及到内部类(Inner Class)和外部类(Outer Class)。题目描述不完整,但通常,内部类可以访问外部类的所有成员,包括私有成员。在Line3处,可能的问题是访问外部类的私有方法或变量,或者创建内部类的实例。正确答案取决于Line3的具体内容,但常见的可能是`new Inner()`来创建内部类实例,或者调用外部类的私有方法。
这些题目反映了Java编程的核心概念,包括字符串的不可变性、循环控制、方法重写以及访问控制。在面试中,理解这些基本概念的原理和应用是非常关键的。
2009-08-02 上传
2009-11-26 上传
2012-11-29 上传
2011-04-26 上传
2011-11-09 上传
2012-05-16 上传
2019-03-06 上传
2011-07-26 上传
xdjm_yy
- 粉丝: 0
- 资源: 2
最新资源
- matlab代码设参数范围-NBUT-MADE1-Boat-Design:NBUT-MADE1-船设计
- 超简洁的设计网页模板是一款html5模板,适合手机电子产品指纹识别公司网站模板下载 .rar
- cineTrip:项目 cineTrip 应用程序允许检测您周围经过的场景
- Excel超级对比工具
- tagMyMusic-开源
- 行业分类-设备装置-大直径超长钻孔桩钢筋笼自由吊挂定位系统.zip
- 代码 Photon PUN+ 1.50.1 - 多人连线游戏开发工具
- meta-app-mem:MetaApp 框架的内存存储
- spins_kernel_xiaomi_sdm845:随机破坏和大量推力的经典破坏
- StreamMinder-开源
- 期末大作业基于java的校友管理系统源码.zip
- 行业分类-设备装置-预防颈椎病自动控制左右方向移动平台.zip
- 基于 SpringBoot3 开发的 Ai 多功能项目,支持(H5,Web,微信小程序)
- HSI ColorChooser:在三种符合人体工程学的面板中查找颜色:色相,饱和度和强度-开源
- AD元件库3D模型已导入.zip
- monkey_hunter:找出Ruby库的猴子补丁