一入 Java 深似海 系列课程 - 第一期 第一节Java 语言基础_第1页
一入 Java 深似海 系列课程 - 第一期 第一节Java 语言基础_第2页
一入 Java 深似海 系列课程 - 第一期 第一节Java 语言基础_第3页
一入 Java 深似海 系列课程 - 第一期 第一节Java 语言基础_第4页
一入 Java 深似海 系列课程 - 第一期 第一节Java 语言基础_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一入 Java 深似海 系列课程 - 第一期 第一节:Java 语言基础 小马哥 mercyblitz 一入 Java 深似海 系列课程 讲师信息 小马哥,Java 劝退师,Apache 和 Spring Cloud 等知名开源 架构成员。 微博:mercyblitz GitHub: 课程详情: 课件资源: lessons/ 主要议题 Java 面向过程编程 Java 面向对象基础 Java 函数式基础 Java 模块化基础 课程总结 Java 面向过程编程 Java 面向过程编程 核心要素 数据结构:原生类型、对象类型、数组类型、集合类型 方法调用:访问性、返回类型、方法参数、异常等 执行流程:赋值、逻辑、迭代(循环)、递归等 Java 面向对象基础 Java 面向对象基础 面向对象基本特性 封装性 派生性 多态性 Java 面向对象基础 面向对象设计模式 GoF 23:构建、结构、行为 方法设计:名称、访问性、参数、返回类型、异常 泛型设计:类级别、方法级别 异常设计:层次性、传播性 Java 函数式基础 Java 函数式基础 面向函数编程(Since Java 8) Lambda 表达式 默认方法 方法引用 Java 函数式基础 匿名内置类 使用场景 Java 作为一门面向对象的静态语言,其封装性能够屏蔽数据结构的细节,从而更加关注模块的功能 性。其静态性也确保了 Java 强类型的特性。随着模块功能的提升,伴随而来的是复杂度的增加,代 码的语义清晰依赖于开发人员抽象和命名类或方法的能力。尽管编程思想和设计模式能够促使编程 风格趋于统一,然而大多数业务系统属于面向过程的方式,这与面向对象编程在一定程度上存在一 些冲突。Java 编程语言为了解决这个问题,引入了匿名内置类的方案。 Java 函数式基础 匿名内置类 典型场景 Java Event / Listener Java Concurrent Spring Template Java 函数式基础 匿名内置类 基本特点 基于多态(多数基于接口编程) 实现类无需名称 允许多个抽象方法 Java 函数式基础 匿名内置类 编程局限 代码臃肿 强类型约束 接口方法升级 Java 函数式基础 Lambda 表达式 使用场景 One issue with anonymous classes is that if the implementation of your anonymous class is very simple, such as an interface that contains only one method, then the syntax of anonymous classes may seem unwieldy and unclear. In these cases, youre usually trying to pass functionality as an argument to another method, such as what action should be taken when someone clicks a button. Lambda expressions enable you to do this, to treat functionality as method argument, or code as data. Java 函数式基础 Lambda 表达式 基本特点 流程编排清晰 函数类型编程 改善代码臃肿 兼容接口升级 Java 函数式基础 Lambda 表达式 实现手段 FunctionalInterface 接口 Lambda 语法 方法引用 接口 default 方法实现 Java 函数式基础 Lambda 表达式 编程局限 单一抽象方法 Lambda 调试困难 Stream API 操作能力有限 Java 函数式基础 默认方法 使用场景 当接口升级时,添加了新的抽象方法,此时基于老接口的实现类必然会遇到编译问题。默认方法的 出现能够解决以上问题,同时也能为实现类提供默认或样板实现,减少实现类的负担,如无需再使 用 Adapter 实现。 提示:默认方法不列入 FunctionInterface 方法计算 Java 模块化基础 Java 模块化基础 Java 9 模块化 动机 强封装的实施与精确的模块依赖声明使得大型应用和框架更好的维护 安全提升 增快应用模块中类型检测的速度,提升应用性能 瘦身 JDK 以及 SE 的体积,有利于在小型计算设备使用和云端部署 Java 模块化基础 Java 9 模块化 收益 提升平台伸缩性 提升平台完整性 提升性能 Java 模块化基础 定义模块 模块声明 A modules self-description is expressed in its module declaration, a new construct of the Java programming language. Java 模块化基础 定义模块 模块依赖 One or more requires clauses can be added to declare that the module depends, by name, upon some other modules, at both compile time and run time: Java 模块化基础 定义模块 模块导出 exports clauses can be added to declare that the module makes all, and only, the public t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论