Java面试经典题集:面向对象编程与Swing基础
需积分: 9 7 浏览量
更新于2024-09-18
1
收藏 71KB DOC 举报
1. **Java面向对象继承问题**:
在给定的Java代码示例中,类`B`继承自类`A`,并在`getNumber`方法上添加了一个新的参数`char c`。然而,由于`B`类覆盖了父类`A`的非抽象方法`getNumber`,并且没有实现父类方法的签名,即没有包含`int a`这个参数,因此编译时会报错。正确答案是A**编译错误**,因为Java不允许子类改变父类方法的签名。
2. **数组越界访问**:
`MyArray`类的`main`方法中尝试访问数组`i`的第6个元素,但是数组初始化为长度为5,所以`i[5]`会抛出`ArrayIndexOutOfBoundsException`。因此,答案是A**编译出错**,因为编译阶段就能检测到数组越界异常。
3. **Java Swing JPanel默认布局管理器**:
`JPanel`在Swing中默认使用的布局管理器是`BorderLayout`,它允许在面板的不同边设置不同的组件。所以正确答案是B**BorderLayout**。
4. **Thread类的start()与run()方法**:
在`Bground`类中,`main`方法创建了一个`Bground`实例并调用其`run()`方法。然而,Java的线程模型规定,`Thread`的实例应当通过`start()`方法启动,而不是直接调用`run()`方法。因此,正确答案是B**运行错误**,因为应该调用`b.start()`而非`b.run()`。
5. **Java中重写无逻辑方法的声明**:
如果父类中的某些方法没有实际逻辑,仅需要被子类覆盖,应使用`abstract`关键字声明为抽象方法,而不是`final`(禁止子类重写)、`static`(属于类,而非对象)、或`void`(不返回值)。因此,答案是C**abstract**。
6. **构造函数和包覆构造器**:
最后的问题涉及`Hope`类的包覆构造器(protected constructor)。在这个例子中,`Hope`类有一个保护级别的构造器,意味着子类可以访问它,但外部代码不能直接创建`Hope`类的对象。`main`方法试图创建`Hope`对象,但没有提供足够的信息来调用构造器。因此,这里可能有编译错误或运行错误,具体取决于编译器的处理方式。如果编译器没有强制执行包覆构造器,可能会隐式调用默认构造器,那么答案可能是C**编译通过但无输出**;如果编译器不允许,答案是A**编译错误**。
总结:
这些题目涵盖了Java编程的基础概念,包括面向对象编程的继承、数组访问、Swing的布局管理、线程模型、以及如何声明需要被子类覆盖的方法。理解这些知识点对于准备Java笔试至关重要,包括编译规则、构造函数和继承的细节。
143 浏览量
2021-09-14 上传
2012-05-19 上传
2009-11-02 上传
2023-02-13 上传
2023-02-13 上传
2022-09-20 上传
点击了解资源详情
yang695744189
- 粉丝: 0
- 资源: 5
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查