Java编程基础:类与继承及泛型应用
需积分: 0 139 浏览量
更新于2024-08-04
收藏 34KB DOCX 举报
在本篇文档中,主要讨论了Java编程语言的基础概念,特别是类(Class)和泛型(Generics)的使用。首先,我们从基础语法开始,通过一个简单的例子来理解类的声明与实例化。
1. **声明和初始化类对象**:
语句`Classclz = null;`的含义是声明一个`Class`类型的变量`clz`并将其初始化为`null`。这表示clz尚未指向任何具体的类。
2. **类的继承和类型引用**:
- 类`GeometricObject`是基类,`PolyGon`和`Rectangle`是它的子类。
- 要声明一个可以指向`PolyGon`及其子类类型的引用,应使用泛型`Class<? extends PolyGon>`,因为这样保证了引用只指向`PolyGon`或其派生类,如`(1)`所示。
- `System.out.println(o.getClass().getSimpleName());`会输出`Rectangle`,因为`o`是`Rectangle`对象,所以返回的是`Rectangle`的简单名称。
3. **泛型限制和错误分析**:
- `Class<PolyGon> clz3 = null; clz3 = PolyGon.class;`是正确的,因为`clz3`被限定为`PolyGon`类型。
- 错误在于`clz3 = Rectangle.class;`(题号2),因为`Rectangle`不是`PolyGon`的直接子类,违反了泛型的限定。
- `Class<? extends PolyGon> clz4 = null; clz4 = GeometricObject.class;`错误,因为`GeometricObject`不是`PolyGon`的子类,违背了泛型限制。
- 同理,`clz4 = PolyGon.class;`和`clz4 = Rectangle.class;`也是错误的,因为它们没有遵循泛型限制。
4. **ArrayList 的实例化错误**:
在Java中,创建`ArrayList`实例时,类型参数必须明确指定。错误的用法有:
- `(2)`尝试创建一个`ArrayList`,但类型参数`"String"`是字符串,而非类型,会导致编译错误。
- `(3)`尝试将`ArrayList<String>`初始化为一个非字符串类型的对象,同样会导致错误。
总结来说,这部分文档重点讲解了Java中的类定义、继承关系、泛型的应用以及基本类型错误的识别,这些都是Java编程中基础且重要的概念。理解和熟练掌握这些知识点对于编写更健壮和灵活的代码至关重要。
2022-08-08 上传
2022-08-08 上传
2022-08-03 上传
2022-08-08 上传
2022-08-08 上传
2022-08-03 上传
2022-08-03 上传
点击了解资源详情
2024-11-19 上传
2024-11-19 上传
张匡龙
- 粉丝: 25
- 资源: 279
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析