Java编程:类与对象基础练习
需积分: 0 47 浏览量
更新于2024-08-04
收藏 34KB DOCX 举报
"第19章基础练习题2"
本章主要涵盖了Java编程语言中的类、对象、继承以及泛型相关的基础知识。题目旨在检验学生对这些概念的理解和应用能力。
1. 语句`Class clz = null;`的含义是创建了一个`Class`类的对象`clz`,并将其赋值为一个空引用。在Java中,`Class`类是所有类的元类,它提供了关于类的信息,如类的名称、构造方法等。这里将`clz`声明为`null`意味着尚未将其关联到任何特定的类信息。
2. 题目给出了以下类的继承关系:
- `GeometricObject` 是基类
- `Polygon` 派生自 `GeometricObject`
- `Rectangle` 派生自 `Polygon`
(1) 声明一个指向`PolyGon`及其子类的类型信息的引用变量`clz`的语句应为:`Class<? extends Polygon> clz;` 这表示`clz`可以指向任何`Polygon`或其子类的类信息。
(2)`System.out.println(o.getClass().getSimpleName());`的输出结果是`Rectangle`,因为`o`是一个`Rectangle`对象,`getSimpleName()`返回类的简单名称,即不包括包名的类名。
(3) 下列语句中有错误的是:②和③
- ② `clz3=Rectangle.class;` 错误,因为`clz3`被声明为`Class<Polygon>`,只能指向`Polygon`类,不能指向其子类`Rectangle`。
- ③ `clz4=GeometricObject.class;` 错误,因为`clz4`被声明为`Class<? extends Polygon>`,只能指向`Polygon`及其子类,而`GeometricObject`是它们的父类。
3. 下面五条语句中,错误的是:② 和 ③
- ② 的错误原因已在上文解释,`clz3`不能指向`Rectangle.class`。
- ③ 的错误原因同样在上文解释,`clz4`不能指向`GeometricObject.class`,因为它只能指向`Polygon`或其子类。
通过这些练习题,学生可以巩固对Java中类的层次结构、类型引用、泛型限制以及类信息获取等核心概念的理解。在实际编程中,掌握这些知识对于编写健壮、可扩展的代码至关重要。
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2021-09-22 上传
2022-02-14 上传
2021-12-10 上传
2009-03-20 上传
2021-10-06 上传
恽磊
- 粉丝: 29
- 资源: 297
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜