JAVA 应用与开发 - 高级类特性应用与开发 高级类特性 让我们愉快的 Coding 起来吧... ��� �������������� October 9, 2018 ���� ��抽象类�接口的������定义方法 ��抽象类�接口的����� ����类的�类�����类�����类�匿名��类的 �� ��匿名内部类的���继承�接口实现的�法 ����类�的��方法 1 29 �� 1 抽象类 2 接口 接口 3 抽象类�接口�� 4 ��类 5 ��类� 2 29 抽象类 �����类 抽象类 ����象的������的�象����类 来��的�����来������的类�� �来���象的�����类������� 的��来������的�象���的类�� 抽象类� 抽象类���来������������� ����的抽象������������� �������的����的抽象� 3 29 �����类 抽象类 ����象的������的�象����类 来��的�����来������的类�� �来���象的�����类������� 的��来������的�象���的类�� 抽象类� 抽象类���来������������� ����的抽象������������� �������的����的抽象� �: 我�抽象 3 29 ����类 �定义 Java0 码力 | 61 页 | 677.55 KB | 1 年前3
Java 应用与开发 - 类加载和反射反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 Java 应用与开发 类加载和反射 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 December 24, 2018 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 学习目标 1. 理解什么是反射机制,通过常见场景认识反射的作用。 2. 掌握类的加载、连接和初始化概念。 3. 理解类加载器及类加载机制。 4. 掌握使用反射生成并操作对象的方法。 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 接下来⋯ 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 反射机制 ▶ 程序运行时,允许改变程序结构或变量类型,这种语言称为 动态语言。从这个观点看,Perl、Python、Ruby 是动态语 言,C++、Java、C# 不是动态语言。 ▶ 但是 Java 有着一个非常突出的动态相关机制:反射 (Reflection),可以于运行时加载、探知、使用编译期间完 全未知的类。换句话说,Java0 码力 | 46 页 | 714.40 KB | 1 年前3
《Java 应用与开发》课程讲义 - 王晓东. . . . 24 3.3.3 二维数组赋初值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.4 Arrays 类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.5 字符串 . . . . . . . . . . . 26 3.5.1 字符串变量的创建 . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5.2 String 类的常用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5.3 理解 Java 字符串 . . . . . . . . . . 32 4.1.2 包的创建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.3 导入包中的类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.4 Java 包特性 . . . . . . . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3
Hello 算法 1.0.0b1 Java版写在前面 hello‑algo.com 4 本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注释、内容 注释、多行注释。 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 * 注释 */ 0.2.3. 在动画图解中高效学习 视频和图片相比于文字的信息密度和结构化程度更高,更容易理解。在本书中,知识重难点会主要以动画、图 生物学科中的“细胞分裂”即是指数阶增长:初始状态为 1 个细胞,分裂一轮后为 2 个,分裂 两轮后为 4 个,⋯⋯,分裂 ? 轮后有 2? 个细胞。 指数阶增长得非常快,在实际应用中一般是不能被接受的。若一个问题使用「暴力枚举」求解的时间复杂度是 ?(2?) ,那么一般都需要使用「动态规划」或「贪心算法」等算法来求解。 // === File: time_complexity.java === /* 指数阶(循环实现) 回时,栈帧空间会被释放。 ‧「指令空间」用于保存编译后的程序指令,在实际统计中一般忽略不计。 2. 复杂度分析 hello‑algo.com 28 Figure 2‑9. 算法使用的相关空间 /* 类 */ class Node { int val; Node next; Node(int x) { val = x; } } /* 函数 */ int function() { //0 码力 | 186 页 | 14.71 MB | 1 年前3
Hello 算法 1.0.0b2 Java版写在前面 hello‑algo.com 4 本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注释、内容 注释、多行注释。 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 * 注释 */ 0.2.3. 在动画图解中高效学习 视频和图片相比于文字的信息密度和结构化程度更高,更容易理解。在本书中,知识重难点会主要以动画、图 生物学科中的“细胞分裂”即是指数阶增长:初始状态为 1 个细胞,分裂一轮后为 2 个,分裂 两轮后为 4 个,⋯⋯,分裂 ? 轮后有 2? 个细胞。 指数阶增长得非常快,在实际应用中一般是不能被接受的。若一个问题使用「暴力枚举」求解的时间复杂度是 ?(2?) ,那么一般都需要使用「动态规划」或「贪心算法」等算法来求解。 // === File: time_complexity.java === /* 指数阶(循环实现) 回时,栈帧空间会被释放。 ‧「指令空间」用于保存编译后的程序指令,在实际统计中一般忽略不计。 2. 复杂度分析 hello‑algo.com 28 Figure 2‑9. 算法使用的相关空间 /* 类 */ class Node { int val; Node next; Node(int x) { val = x; } } /* 函数 */ int function() { //0 码力 | 197 页 | 15.72 MB | 1 年前3
Java 应用与开发 - 面向对象编程进阶 PART1为便于管理大型软件系统中数目众多的类,解决类的命名冲突问 题以及进行访问控制,Java 引入包(package)机制,即将若干功 能相关的类逻辑上分组打包到一起,提供类的多重类命名空间。 大纲 包 继承 访问控制 方法重写 关键字 super 关键字 this JDK API 中的常用包 包名 功能说明 包的含义 java.lang Java 语言程序设计的基础类 language 的简写 java java.awt 创建图形用户界面和绘制图形图像 的相关类 抽象窗口工具集 java.util 集合、日期、国际化、各种实用工具 utility 的简写 java.io 可提供数据输入/输出相关功能的类 input/output 的简写 java.net Java 网络编程的相关功能类 网络 java.sql 提供数据库操作的相关功能类 结构化查询语言的简 写 大纲 包 继承 访问控制 方法重写 方法重写 关键字 super 关键字 this 包的创建 package 语句作为 Java 源文件的第一条语句,指明该文件中定 义的类所在的包(若缺省该语句,则指定为无名包)。语法格式 如下: 1 package pkg1[.pkg2[.pkg3...]]; CODE ± 创建包 1 package p1; 2 public class Test{ 3 public void m1(){0 码力 | 39 页 | 614.13 KB | 1 年前3
Apache Shiro参考手册中文版The Tutorial class 我们将运行一个简单的命令行应用程序,因此,我们需要创建一个拥有 public static void main(String[] args)方法的 Java 类。 在包含你 pom.xml 文件的同样目录下,创建 src/main/java 子目录。在 src/main/java 目录下创建具有下面内容的 Tutorial.java 文件: 是很有益处的。因此,在我们的教程应用程序中第一 件要做的事情就是配置 SecurityManager 实例。 Configuration 虽然我们能够直接实例化一个 SecurityManager 类,但 Shiro 的 SecurityManager 实现有足够的配置选项及内置组件 使得在 Java 源代码做这件事情变得较为痛苦——如果使用一个灵活的基于文本的配置格式来配置 SecurityManager, LDAP 的 AcitveDirectory,以及更多。 Referencing the Configuration 现在我们已经定义好了一个 INI 文件,我们可以在我们的教程应用程序类中创建 SecurityManager 实例了。改变 main 方法来反映以下的更新内容: 好了,在仅仅添加了 3 行代码后,Shiro 就在我们的简单应用程序中启用了!很容易是吧?0 码力 | 92 页 | 1.16 MB | 1 年前3
Java 应用与开发 - Java 语言基础与流程控制short int long 浮点型 float double 逻辑型 boolean 字符型 char O 引用数据类型(复合数据类型) 在内存中存放的是指向该数据的地址,不是数据值本身。包括: 类、数组、接口等。 大纲 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 数据类型 O 整型 类型 数据�数 取值范围 byte(字节型) 8 −128 数值型不同类型数据的转换 自动类型转换 1. 转换前的数据类型与转换后的类型兼容。 2. 转换后的数据类型的表示范围比转换前的类型大。 3. 条件 2 说明不同类型的数据进行运算时,需先转换为同一类 型,然后进行运算。转换从“短”到“长”的优先关系为: byte→short→char→int→long→float→double 强制类型转换 如果要将较长的数据转换成较短的数据时(不安全)就要进行强 分支结构 循环结构 关键字与标识符 O 标识符 用来表示变量名、类名、方法名、数组名和文件名的有效字符序 列。规定如下: ▶ 可以由字母、数字、下划线 (_)、美元符号 ($) 组合而成。 ▶ 必须以字母、下划线或美元符号开头,不能以数字开头。 ▶ 关键字不能当标识符使用。 ▶ 区分大小写。 编码习惯:驼峰命名,类名首字母大写,变量、方法及对象首字 母小写。 大纲 数据类型 常量和变量0 码力 | 37 页 | 685.82 KB | 1 年前3
Java 应用与开发 - Java EE 过滤器编程getInitParameter(String name) 取得过滤器配置的初始参数。 public Enumeration getInitParameterNames() 取得过滤器配置的所有初始参数,以枚举器类型返回。 public String getFilterName() 取得配置的过滤器名称。 public ServletContext getServletContext() 取得过滤器运行的 过滤器编程和配置 1. 实现 javax.servlet.Filter 接口,编写过滤器类。 2. 在 Web 配置文件/WEB-INF/web.xml 中完成对过滤器的 配置。 大纲 过滤器概述 Java EE 过滤器 API Java EE 过滤器编程和配置 过滤器的主要任务 本节习题 过滤器编程示例 编写过滤器类 CharEncodingFilter.java,实现 Filter 接口的所有 大纲 过滤器概述 Java EE 过滤器 API Java EE 过滤器编程和配置 过滤器的主要任务 本节习题 过滤器生命周期 1. 创建阶段 根据标记定义的过滤器类,将类定 义加载到服务器内存,并调用此类的默认构造方法,创建过 滤器对象。 2. 初始化阶段 创建 FilterConfig 对象,调用过滤器的 init() 方 法,传入 FilterConfig 象,完成初始化工作。 0 码力 | 31 页 | 605.91 KB | 1 年前3
Java 应用与开发 - HTTP 会话跟踪技术API 提供javax.servlet.http.Cookie类来表达一个 Cookie 对象。 ▶ HttpServletResponse 接口中定义了保存 Cookie 到浏览器 的方法 ▶ HttpServletRequest 接口中定义了取得客户端保存的 Cookie 对象的方法 O Cookie 对象的创建 使用 Cookie 类的构造方法 public Cookie(String name 会话对象的功能和方法 O public void setAttribute(String name, Object value) 将数据存入会话对象,以 name/value 模式进存储,value 的类 型为通用的 Object 类型,可以将任何 Java 对象保存到会话对 象中。 1 HttpSession session = request.getSession(); 2 Collection 会话跟踪技术 本节习题 Java EE 会话对象 会话对象的功能和方法 O public Enumeration getAttributeNames() 取得会话对象中保存的所有属性名称列表,返回一个枚举器类型 对象。 1 Enumeration enume = session.getAttributeNames(); 2 while (enume.hasMoreElements()) { 30 码力 | 54 页 | 824.47 KB | 1 年前3
共 41 条
- 1
- 2
- 3
- 4
- 5













