JAVA 应用与开发 - 高级类特性d4ecb/p1_1.jpg) ## 学习目标 ■ 掌握抽象类和接口的概念、特性及定义方法 ☑ 理解抽象类和接口的异同和作用 ■ 了解嵌套类的分类,掌握嵌套类中静态嵌套类和匿名嵌套类的概念 ■ 掌握匿名内部类的特征、继承和接口实现的用法 ■ 掌握枚举类型的使用方法 大纲 1 抽象类 2 接口 3 抽象类和接口剖析 4 嵌套类 5 枚举类型 29 ## 抽象类 ## 什么是抽象类 open()、close() 和 alarm() 根本就属于两个不同范畴内的行为: ■ open() 和 close() 属于门本身固有的行为特性。 ☑ alarm() 属于延伸的附加行为。 ## 怎样才是合理的设计?(门和警报的示例) Door 的 open()、close() 和 alarm() 根本就属于两个不同范畴内的行为: ■ open() 和 close() 属于门本身固有的行为特性。 static 修饰的嵌套类| |---|---| |内部类 (Inner Class)|非 static 的嵌套类| |普通内部类|在类中的方法或语句块外部定义的非static类。| |局部内部类|定义在方法或语句块中的类,也称局部类。| |匿名内部类|定义在方法或语句块中,该类没有名字,只能在其所在之处使用一次。| (仅讲授包含静态嵌套类和匿名内部类,其他自行学习) ## 静态嵌套类 ## ☑ 静态嵌套类的特征0 码力 | 61 页 | 677.55 KB | 2 年前3
《Java 应用与开发》课程讲义 - 王晓东怎样才是合理的设计?(门和警报的示例) …… 76 7.4 嵌套类 …… 77 7.4.1 什么是嵌套类 …… 77 7.4.2 静态嵌套类 …… 78 7.4.3 匿名内部类 …… 78 7.4.4 使用匿名内部类 …… 78 7.5 枚举类型 …… 80 7.5.1 枚举类型的概念 ..... 80 7.5.2 遍历枚举类型常量值 ..... 81 7.5.3 组合使用枚举类型与 ..... 136 11.2.5 多重事件监听器 ..... 136 11.2.6 事件适配器 ..... 137 11.2.7 事件适配器 ..... 137 11.2.8 内部类和匿名类在 GUI 事件处理中的应用 ..... 137 11.3 Applet ..... 138 11.3.1 Applet 生命周期 ..... 138 11.3.2 Applet 程序示例 for (int i : integers) { System.out.println(i); } ## 循环中的跳转 break 语句 使程序的流程从一个语句块(switch 或循环结构)内跳出。 中国海洋大学信息学院计算机系 continue 语句 终止当前这一轮(次)的循环,进入下一轮(次)循环。 return 语句 用来使程序从方法(函数)中返回,可返回一个值。 ### 2.30 码力 | 330 页 | 6.54 MB | 2 年前3
Kotlin 1.9.10 官方文档 中文版
API。 Quarkus 为使用 Kotlin 提供了头等支持。 它是由 Red Hat 维护的开源框架。 Quarkus 是为 Kubernetes 全 新构建、并利用数百个(还在增加)最佳库提供内聚的全栈框架。 Vert.x 是在 JVM 上构建反应式 Web 应用程序的框架, 为 Kotlin 提供了专门支持,包括完整的文档。 kotlinx.html 是可在 Web 应用程序中用于构建 HTML 编程语言一起使用, 而无需将所有代码迁移到 Kotlin。 易学易用。Kotlin 非常易于学习,尤其是对于 Java 开发人员而言。 大社区。 Kotlin 得到了社区的大力支持与许多贡献,该社区在全世界范围内都在增长 。 排名前一千的 Android 应 用中超过 95% 使用 Kotlin。 许多初创公司与财富 500 强公司已经使用 Kotlin 开发了 Android 应用程序,参见面向 Android interoperability. For more details, see the Kotlin/Wasm interoperability with JavaScript documentation. 非外部类型的限制 Kotlin/Wasm supports conversions for specific Kotlin static types when passing values to and from0 码力 | - 页 | 22.65 MB | 2 年前3
Kotlin 官方文档中文版 v1.9API。 - Quarkus 为使用 Kotlin 提供了头等支持。它是由 Red Hat 维护的开源框架。Quarkus 是为 Kubernetes 全新构建、并利用数百个(还在增加)最佳库提供内聚的全栈框架。 - Vert.x 是在 JVM 上构建反应式 Web 应用程序的框架,为 Kotlin 提供了专门支持,包括完整的文档。 - kotlinx.html 是可在 Web 应用程序中用于构建 编程语言一起使用,而无需将所有代码迁移到 Kotlin。 - 易学易用。Kotlin 非常易于学习,尤其是对于 Java 开发人员而言。 - 大社区。Kotlin 得到了社区的大力支持与许多贡献,该社区在全世界范围内都在增长。排名前一千的 Android 应用中超过 95% 使用 Kotlin。 许多初创公司与财富 500 强公司已经使用 Kotlin 开发了 Android 应用程序,参见面向 Android interoperability. For more details, see the Kotlin/Wasm interoperability with JavaScript documentation. ## 非外部类型的限制 Kotlin/Wasm supports conversions for specific Kotlin static types when passing values to and from0 码力 | 2049 页 | 45.06 MB | 2 年前3
Java 应用与开发 - Java GUI 编程通过参数指定布局的行数、列数,以及组件间水平间距和垂直间距。 课程配套代码 ▶ sample.awt.layout.GridLayoutSample.java ## CardLayout ## 布局效果 将多个组件在同一容器区域内交替显示,相当于多张卡片摞在一起,只有最上面的卡片是可见的。 可以按名称显示某一张卡片,或按先后顺序依次显示,也可以直接定位到第一张或最后一张卡片。 ## 主要方法 ▶ public void first(Container dapter|容器事件适配器| ## 内部类和匿名类在 GUI 事件处理中的应用 监听器类中封装的业务逻辑具有非常强的针对性,一般没有重用价值,因此经常采用内部类或匿名类的形式来实现。 ## 一 起改一改 课程配套代码 ▶ sample.awt.event.ActionEventSample.java 请同学将上述代码中的窗口事件监听代码修改为匿名类形式。 ## 接下来… GUI 事件处理0 码力 | 73 页 | 876.31 KB | 2 年前3
Rust 程序设计语言 简体中文版 1.85.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 13.1. 闭包:可以捕获其环境的匿名函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3; 常量的名称是 THREE_HOURS_IN_SECONDS,它的值被设置为 60(一分钟内的秒数)乘以 60(一 小时内的分钟数)再乘以 3(我们在这个程序中要计算的小时数)的结果。Rust 对常量的命名 40/562 Rust 程序设计语言 简体中文版 约定是在单词之间使用全大写加下划线。编译器能够在编译时计算一组有限的操作,这使我们 x is: {x}"); } 这个程序首先将 x 绑定到值 5 上。接着通过 let x = 创建了一个新变量 x,获取初始值并加 1,这样 x 的值就变成 6 了。然后,在使用花括号创建的内部作用域内,第三个 let 语句也遮 蔽了 x 并创建了一个新的变量,将之前的值乘以 2,x 得到的值是 12。当该作用域结束时, 内部遮蔽的作用域也结束了,x 又返回到 6。运行这个程序,它会有如下输出: $0 码力 | 562 页 | 3.23 MB | 8 月前3
Kotlin 入门学习笔记整理
跨模块访问 ## 声明类 也是用 class ## 静态内部类 java 中 用 static 修饰;静态内部类可以写静态函数 kotlin 静态内部类是没有关键字修饰; ## 嵌套内部类 不用 static 修饰的话默认的内部类就是嵌套内部类,嵌套内部类可以获取外部类的引用,不可以写静态函数;kotlin 嵌套内部类是有关键字修饰,用 inner 修饰 ## 实现接口 实现接口 [Image](/uploads/documents/5/6/0/c/560c99cc5ea625aae72b04367b9cab48/p3_2.jpg) ## 页面跳转 kotlin 中获取外部类对象使用 this@ClassName // kotlin class 2 startActivity(Intent(this, OtherClassActivity::class)) 3 // 创建的文件中声明的方法,想在 java 中类名打点调用,可以把这个注解写在类中 package 包名上面;kotlin 调名的形式调用,没有变化。@file:JvmName 注解的目标是文件; ## kotlin 声明匿名内部类 使用 object: 1 //Callback 是接口,后面不需要 () 2 call.enqueue(object:Callback { 3 override fun onFailure(call:0 码力 | 8 页 | 5.41 MB | 2 年前3
Rust 程序设计语言简体中文版304 12.6. 将错误信息输出到标准错误而不是标准输出 ..... 316 13. Rust 中的函数式语言功能:迭代器与闭包 ..... 318 13.1. 闭包:可以捕获其环境的匿名函数 ..... 319 13.2. 使用迭代器处理元素序列 ..... 329 13.3. 改进之前的 I/O 项目 ..... 335 13.4. 性能比较:循环对迭代器 ..... const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3; 常量的名称是 THREE_HOURS_IN_SECONDS,它的值被设置为 60(一分钟内的秒数)乘以 60(一小时内的分钟数)再乘以 3(我们在这个程序中要计算的小时数)的结果。Rust 对常量的命名约定是在单词之间使用全大写加下划线。编译器能够在编译时计算一组有限的操作,这使我们可以选择以更容易理解 is: {x}") } 这个程序首先将 x 绑定到值 5 上。接着通过 let x = 创建了一个新变量 x,获取初始值并加 1,这样 x 的值就变成 6 了。然后,在使用花括号创建的内部作用域内,第三个 let 语句也隐藏了 x 并创建了一个新的变量,将之前的值乘以 2,x 得到的值是 12。当该作用域结束时,内部 shadowing 的作用域也结束了,x 又返回到 6。运行这个程序,它会有如下输出:0 码力 | 600 页 | 12.99 MB | 2 年前3
ECMAScript规范 第三版 中文版width)字体显示在文法的产生式中,贯穿本规范中该文本被直接引用为一个终结符的全过程。它们可出现在写成的程序中。所有的非终结字符以这种特定的方式,作为恰当的、ASCII范围内的Unicode字符被识别,以区别其它Unicode范围内看上去相似的Unicode字符。 非终结符以斜体(italic)显示。非终结符的定义由其被定义的名字后跟一个或更多冒号引入(冒号的数量指出产生式所属的文法)。非终结符中 Unicode 格式控制字符 Unicode 格式控制字符(Unicode 字符数据库"Cf"分类,比如 LEFT-TO-RIGHT 标记、RIGHT-TO-LEFT 标记)被用于控制范围内的文本格式化,以使文本被相对于此的高阶协议(如标记语言)忽略。在源代码文本中允许出现这些字符也是有用的,便于查看和编辑。 格式控制字符可以在 ECMAScript 程序的任何位置出现。这些字符将在应 构的语义,定义一集转换运算符是很有用的。这些运算符不是语言的一部分;在这里定义它们是为了协助语言语义的规范。转换运算符是多态的。也就是说,它们可以接受任何标准类型的值,除了引用,列表,完结类型这些内部类型之外。 ### 9.1 ToPrimitive ToPrimitive 运算符接受一个值,和一个可选的期望类型作参数。ToPrimitive 运算符把其值参数转换为非对象类型。如果对象有能力被0 码力 | 58 页 | 563.06 KB | 2 年前3
TypeScript 4.0 使用手册
,因为会增加编译时间并且浏览器还能够缓存没有发生改变的库文件。 理想情况下,我们只需要在浏览器里引入React模块,但是大部分浏览器还没有支持模块。因此大部分代码库会把自己包裹在一个单独的全局变量内,比如:jQuery 或 ___。这叫做“命名空间”模式,webpack也允许我们继续使用通过这种方式写的代码库。通过我们的设置 "react": "React",webpack会神奇地将所有对 += currentRow[i]; } } return sum; } 这里很容易看出一些问题,里层的 for 循环会覆盖变量 i,因为所有 i 都引用相同的函数作用域内的变量。有经验的开发者们很清楚,这些问题可能在代码审查时漏掉,引发无穷的麻烦。 ## 捕获变量怪异之处 快速的猜一下下面的代码会返回什么: 1. for (var i = 0; i < 10; 书栈网·BookStack.CN 构建 变量声明 在我们最初谈及获取用 var 声明的变量时,我们简略地探究了一下在获取到了变量之后它的行为是怎样的。直观地讲,每次进入一个作用域时,它创建了一个变量的环境。就算作用域内代码已经执行完毕,这个环境与其捕获的变量依然存在。 function theCityThatAlwaysSleeps() { let getCity; if (true) {0 码力 | 683 页 | 6.27 MB | 2 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













