Java编程基础:类与继承及泛型应用
需积分: 0 32 浏览量
更新于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-03 上传
2022-08-03 上传
2022-08-08 上传
2022-08-08 上传
2022-08-03 上传
张匡龙
- 粉丝: 25
- 资源: 279