JAVA 应用与开发 - 高级类特性学习目标 ■ 掌握抽象类和接口的概念、特性及定义方法 ☑ 理解抽象类和接口的异同和作用 ■ 了解嵌套类的分类,掌握嵌套类中静态嵌套类和匿名嵌套类的概念 ■ 掌握匿名内部类的特征、继承和接口实现的用法 ■ 掌握枚举类型的使用方法 大纲 1 抽象类 2 接口 3 抽象类和接口剖析 4 嵌套类 5 枚举类型 29 ## 抽象类 ## 什么是抽象类 ## 抽象类 在面向对象的概念 类都是用来描绘对象的。如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 ## 什么是抽象类 ## 抽象类 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的。如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同但是本质上相同的具体概念的抽象。 图: 我很抽象 ## 定义抽象类 ■ 在定义 Java 方法时可以只给出方法头,而不必给出方法的实现细节,这样的方法被称为抽象方法。 ■ 抽象方法必须用关键字abstract修饰。 ☑ 包含抽象方法的类必须声明为抽象类,用关键字abstract修饰。 CODE 抽象类示例 public abstract class Animal { // 定义为抽象类 private int0 码力 | 61 页 | 677.55 KB | 2 年前3
《Java 应用与开发》课程讲义 - 王晓东对象其他生命周期阶段内存管理 …… 67 6.4 课后习题 …… 68 高级类特性 …… 69 7.1 抽象类 …… 70 7.1.1 抽象类的概念 …… 70 7.1.2 定义抽象类 …… 70 7.1.3 抽象类的特性与作用 …… 71 7.2 接口 …… 72 7.2.1 接口(interface)的概念 …… 72 7.2.2 定义接口 …… 72 7.2.3 接口的实现 …… 73 7.2.4 接口间的继承 …… 74 7.2.5 接口特性总结 …… 75 7.3 抽象类和接口剖析 …… 75 7.3.1 语法层面的区别 …… 75 7.3.2 设计层面的区别 …… 76 7.3.3 怎样才是合理的设计?(门和警报的示例) …… 76 7.4 标记的变量(成员变量或局部变量)即成为常量,只能赋值一次; 4. final 标记的成员变量必须在声明的同时或在每个构造方法中显式赋值,然后才能使用; 5. final 不允许用于修饰构造方法、抽象类以及抽象方法。 关键字 final 应用举例如下: public final class Test { public static int totalNumber = 5; public0 码力 | 330 页 | 6.54 MB | 2 年前3
Java 应用与开发 - Java GUI 编程组件不能独立地显示出来,必须将组件放在一定的容器中才可以显示出来。 JDK 的 java.awt 包中定义了多种 GUI 组件类,如 Menu、Button、Label、TextField 等。 抽象类 java.awt.Component 是除菜单相关组件之外所有 Java AWT 组件类的根父类,该类规定了 GUI 组件的基本特性,如尺寸、位置和颜色效果等,并实现了作为一个 GUI 部件所应具备的基本功能。 组件不能独立地显示出来,必须将组件放在一定的容器中才可以显示出来。 ▶ JDK 的 java.awt 包中定义了多种 GUI 组件类,如 Menu、Button、Label、TextField 等。 抽象类 java.awt.Component 是除菜单相关组件之外所有 Java AWT 组件类的根父类,该类规定了 GUI 组件的基本特性,如尺寸、位置和颜色效果等,并实现了作为一个 GUI 部件所应具备的基本功能。 组件不能独立地显示出来,必须将组件放在一定的容器中才可以显示出来。 ▶ JDK 的 java.awt 包中定义了多种 GUI 组件类,如 Menu、Button、Label、TextField 等。 抽象类 java.awt.Component 是除菜单相关组件之外所有 Java AWT 组件类的根父类,该类规定了 GUI 组件的基本特性,如尺寸、位置和颜色效果等,并实现了作为一个 GUI 部件所应具备的基本功能。0 码力 | 73 页 | 876.31 KB | 2 年前3
Julia 中文文档108 12.2 抽象类型 ..... 109 12.3 原始类型 ..... 110 12.4 复合类型 ..... 111 12.5 可变复合类型 ..... 113 12.6 已声明的类型 ..... 114 12.7 类型共用体 ..... 114 12.8 参数类型 ..... 115 参数复合类型 ..... 115 参数抽象类型 ..... 117 318 34.3 Tools 319 34.4 Avoid containers with abstract type parameters 319 34.5 类型声明 320 避免有抽象类型的字段 320 避免使用带抽象容器的字段 322 对从无类型位置获取的值进行类型注释 …… 324 Be aware of when Julia avoids specializing …… 中用于字符串(和字符串文字)的内置具体类型是 String。它支持全部 Unicode 字符通过 UTF-8 编码。(transcode 函数是提供 Unicode 编码和其他编码转换的函数。) - 所有的字符串类型都是抽象类型 AbstractString 的子类型,而一些外部包定义了别的 AbstractString 子类型(例如为其它的编码定义的子类型)。若要定义需要字符串参数的函数,你应当声明此类型为 AbstractString0 码力 | 1238 页 | 4.59 MB | 2 年前3
PlantUML 1.2019.3 语言参考指引[Image](/uploads/documents/8/6/0/8/860878bc8f88b6993946457623c43708/p41_1.jpg) ### 3.10 抽象类和接口 用关键字 abstract 或 abstract class 来定义抽象类。抽象类用斜体显示。也可以使用 interface, annotation 和 enum 关键字。 abstract class AbstractList abstract genericDisplay old command. ### 3.15 指定标记(Spot) 通常标记字符(C, I, E or A)用于标记类(classes), 接口(interface), 枚举(enum)和抽象类(abstract classes) 但是当你想定义原型时,可以增加对应的单个字符及颜色,来定义自己的标记(spot),就像下面一样:@startuml class System << 2 关系上的标识 3.3 添加方法 3.4 定义可访问性 3.5 抽象与静态 3.6 高级类体 3.7 备注和模板 3.8 更多注释 3.9 链接的注释 3.10 抽象类和接口 3.11 使用非字母字符 3.12 隐藏属性、函数等 3.13 隐藏类 ..... 42 3.14 泛型(generics) ..... 43 3.15 指定标记(Spot)0 码力 | 157 页 | 1.78 MB | 2 年前3
PlantUML 1.2019.2 语言参考指引[Image](/uploads/documents/c/a/6/0/ca608e6feda30bfd911bbd53d4aff0d4/p41_1.jpg) ### 3.10 抽象类和接口 用关键字 abstract 或 abstract class 来定义抽象类。抽象类用斜体显示。也可以使用 interface, annotation 和 enum 关键字。 abstract class AbstractList abstract genericDisplay old command. ### 3.15 指定标记(Spot) 通常标记字符(C, I, E or A)用于标记类(classes), 接口(interface), 枚举(enum)和抽象类(abstract classes) 但是当你想定义原型时,可以增加对应的单个字符及颜色,来定义自己的标记(spot),就像下面一样:@startuml class System << 2 关系上的标识 3.3 添加方法 3.4 定义可访问性 3.5 抽象与静态 3.6 高级类体 3.7 备注和模板 3.8 更多注释 3.9 链接的注释 3.10 抽象类和接口 3.11 使用非字母字符 3.12 隐藏属性、函数等 3.13 隐藏类 ..... 42 3.14 泛型 (generics) ..... 43 3.15 指定标记 (Spot)0 码力 | 157 页 | 1.78 MB | 2 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2019.9)[Image](/uploads/documents/2/a/6/8/2a68653ed0100cdf73a8fc38d0ff77ad/p41_1.jpg) ### 3.10 抽象类和接口 用关键字 abstract 或 abstract class 来定义抽象类。抽象类用斜体显示。也可以使用 interface, annotation 和 enum 关键字。 abstract class AbstractList abstract genericDisplay old command. ### 3.15 指定标记(Spot) 通常标记字符(C, I, E or A)用于标记类(classes), 接口(interface), 枚举(enum)和抽象类(abstract classes) 但是当你想定义原型时,可以增加对应的单个字符及颜色,来定义自己的标记(spot),就像下面一样:@startuml class System << 2 关系上的标识 3.3 添加方法 3.4 定义可访问性 3.5 抽象与静态 3.6 高级类体 3.7 备注和模板 3.8 更多注释 3.9 链接的注释 3.10 抽象类和接口 3.11 使用非字母字符 3.12 隐藏属性、函数等 3.13 隐藏类 ..... 42 3.14 泛型 (generics) ..... 43 3.15 指定标记 (Spot)0 码力 | 174 页 | 2.00 MB | 2 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2019.1)[Image](/uploads/documents/d/f/0/4/df04d493d002e8deea276b25cd5f4319/p38_2.jpg) ### 3.10 抽象类和接口 用关键字 abstract 或 abstract class 来定义抽象类。抽象类用斜体显示。也可以使用 interface, annotation 和 enum 关键字。 @startuml abstract class AbstractList genericDisplay old command. ### 3.15 指定标记(Spot) 通常标记字符(C, I, E or A)用于标记类(classes), 接口(interface), 枚举(enum)和抽象类(abstract classes) 但是当你想定义原型时,可以增加对应的单个字符及颜色,来定义自己的标记(spot),就像下面一样: @startuml class System << 2 关系上的标识 3.3 添加方法 3.4 定义可访问性 3.5 抽象与静态 3.6 高级类体 3.7 备注和模板 3.8 更多注释 3.9 链接的注释 3.10 抽象类和接口 3.11 使用非字母字符 3.12 隐藏属性、函数等 3.13 隐藏类 ..... 39 3.14 泛型 (generics) ..... 40 3.15 指定标记 (Spot)0 码力 | 146 页 | 1.91 MB | 2 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2019.4)[Image](/uploads/documents/f/9/f/8/f9f83bd5a84d48ea327f1aeea20d8343/p41_1.jpg) ### 3.10 抽象类和接口 用关键字 abstract 或 abstract class 来定义抽象类。抽象类用斜体显示。也可以使用 interface, annotation 和 enum 关键字。 abstract class AbstractList abstract genericDisplay old command. ### 3.15 指定标记(Spot) 通常标记字符(C, I, E or A)用于标记类(classes), 接口(interface), 枚举(enum)和抽象类(abstract classes) 但是当你想定义原型时,可以增加对应的单个字符及颜色,来定义自己的标记(spot),就像下面一样:@startuml class System << 2 关系上的标识 3.3 添加方法 3.4 定义可访问性 3.5 抽象与静态 3.6 高级类体 3.7 备注和模板 3.8 更多注释 3.9 链接的注释 3.10 抽象类和接口 3.11 使用非字母字符 3.12 隐藏属性、函数等 3.13 隐藏类 ..... 42 3.14 泛型 (generics) ..... 43 3.15 指定标记 (Spot)0 码力 | 165 页 | 1.89 MB | 2 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2019.6)[Image](/uploads/documents/8/9/a/9/89a914b057b60cd7c7fb48aa4a76a6ee/p41_1.jpg) ### 3.10 抽象类和接口 用关键字 abstract 或 abstract class 来定义抽象类。抽象类用斜体显示。也可以使用 interface, annotation 和 enum 关键字。 abstract class AbstractList abstract genericDisplay old command. ### 3.15 指定标记(Spot) 通常标记字符(C, I, E or A)用于标记类(classes), 接口(interface), 枚举(enum)和抽象类(abstract classes) 但是当你想定义原型时,可以增加对应的单个字符及颜色,来定义自己的标记(spot),就像下面一样:@startuml class System << 2 关系上的标识 3.3 添加方法 3.4 定义可访问性 3.5 抽象与静态 3.6 高级类体 3.7 备注和模板 3.8 更多注释 3.9 链接的注释 3.10 抽象类和接口 3.11 使用非字母字符 3.12 隐藏属性、函数等 3.13 隐藏类 ..... 42 3.14 泛型 (generics) ..... 43 3.15 指定标记 (Spot)0 码力 | 174 页 | 1.98 MB | 2 年前3
共 83 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9













