 Java 对象的创建过程链滴 Java 对象的创建过程 作者:vcjmhg 原文链接:https://ld246.com/article/1619614850780 来源网站:链滴 许可协议:署名-相同方式共享 4.0 国际 (CC BY-SA 4.0) 概述 在之前的一篇文章《关于java继承的哪些事》简单讲了Java创建对象的过程,但具体细节当时并没有 细讲。因而本篇文章以HotSpot虚拟机为例, 下Java虚拟机是如何创建一个对象的? 简单来说Java对象的创建过程总共分为5步: Java创建对象的过程 类加载检查 首先当虚拟机遇到一个new指令时,首先会去检查这个参数能否在常量池中定位到这个类的符号引用 并且检查这个符号引用所代表的的类是否已经被加载、连接、解析和初始化过,如果没有需要先执行 的加载操作(详细过程可参考"类的加载流程" )。 分配内存 当类加载检查通过后,接下 具体来说,指针碰撞分配内存空间的过程如下: 在Java堆规整的情况下,所有被使用过的内存放到一边,所有未被使用过的内存放置到另一边,中间 置一个指针作为分界点的指示器,当需要分配内存空间时,只需要将空闲指针向空闲内存方向移动对 内存大小的位置即可。 原文链接:Java 对象的创建过程 该算法能够使用的前提必须是空间是规整的,因为如果空间是碎片化的,很明显该算法就会失效。 另一种算法是空闲列表,其分配内存的过程如下:0 码力 | 4 页 | 389.87 KB | 1 年前3 Java 对象的创建过程链滴 Java 对象的创建过程 作者:vcjmhg 原文链接:https://ld246.com/article/1619614850780 来源网站:链滴 许可协议:署名-相同方式共享 4.0 国际 (CC BY-SA 4.0) 概述 在之前的一篇文章《关于java继承的哪些事》简单讲了Java创建对象的过程,但具体细节当时并没有 细讲。因而本篇文章以HotSpot虚拟机为例, 下Java虚拟机是如何创建一个对象的? 简单来说Java对象的创建过程总共分为5步: Java创建对象的过程 类加载检查 首先当虚拟机遇到一个new指令时,首先会去检查这个参数能否在常量池中定位到这个类的符号引用 并且检查这个符号引用所代表的的类是否已经被加载、连接、解析和初始化过,如果没有需要先执行 的加载操作(详细过程可参考"类的加载流程" )。 分配内存 当类加载检查通过后,接下 具体来说,指针碰撞分配内存空间的过程如下: 在Java堆规整的情况下,所有被使用过的内存放到一边,所有未被使用过的内存放置到另一边,中间 置一个指针作为分界点的指示器,当需要分配内存空间时,只需要将空闲指针向空闲内存方向移动对 内存大小的位置即可。 原文链接:Java 对象的创建过程 该算法能够使用的前提必须是空间是规整的,因为如果空间是碎片化的,很明显该算法就会失效。 另一种算法是空闲列表,其分配内存的过程如下:0 码力 | 4 页 | 389.87 KB | 1 年前3
 JAVA 应用与开发 - 集合与映射JAVA 应用与开发 集合与映射 让我们愉快的 Coding 起来吧... ��� �������������� November 4, 2019 ���� �����List����Set�����Map�的������� ���������� ������iterator��Enumeration ��������� API ������的������������ 1 28 ensureCapacity(int n) 该方法可以对 ArrayList 底层的数组进行扩容。 显式地调用这个函数,如果参数大于底层数组长度的 1.5 倍, 那么这个数组的容量就会被扩容到这个参数值,如果参数小于 底层数组长度的 1.5 倍,那么这个容量就会被扩容到底层数组 长度的 1.5 倍。 在适当的时机,好好利用这个函数,将会使我们写出来的程序 性能得到很大的提升。 课程配套代码 ± sample.setlistmap ArrayListEnSureCapacitySample.java 10 28 Vector � java.util.Vector ���� List ������的������的�� ��� O 与 ArrayList 的差别 Vector 是同步(线程安全)的,运行效率要低一些,主要用在在多 线程环境中,而 ArrayList 是不同步的,适合在单线程环境中使用。 �������� List0 码力 | 66 页 | 713.79 KB | 1 年前3 JAVA 应用与开发 - 集合与映射JAVA 应用与开发 集合与映射 让我们愉快的 Coding 起来吧... ��� �������������� November 4, 2019 ���� �����List����Set�����Map�的������� ���������� ������iterator��Enumeration ��������� API ������的������������ 1 28 ensureCapacity(int n) 该方法可以对 ArrayList 底层的数组进行扩容。 显式地调用这个函数,如果参数大于底层数组长度的 1.5 倍, 那么这个数组的容量就会被扩容到这个参数值,如果参数小于 底层数组长度的 1.5 倍,那么这个容量就会被扩容到底层数组 长度的 1.5 倍。 在适当的时机,好好利用这个函数,将会使我们写出来的程序 性能得到很大的提升。 课程配套代码 ± sample.setlistmap ArrayListEnSureCapacitySample.java 10 28 Vector � java.util.Vector ���� List ������的������的�� ��� O 与 ArrayList 的差别 Vector 是同步(线程安全)的,运行效率要低一些,主要用在在多 线程环境中,而 ArrayList 是不同步的,适合在单线程环境中使用。 �������� List0 码力 | 66 页 | 713.79 KB | 1 年前3
 Java 应用与开发 - Java 语言基础与流程控制大纲 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 Java 应用与开发 Java 语言基础与流程控制 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 August 28, 2018 大纲 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 参考书目 1. 陈国君等编著 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 学习目标 ▶ Java 语言基础 1. 数据类型 2. 常量和变量 3. 关键字与标识符 4. 运算符与表达式 5. 从键盘输入数据 ▶ 流程控制 1. 语句和复合语句 2. 分支结构(选择结构) 3. 循环结构 4. 跳转语句 大纲 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 大纲 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 ���� 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 大纲 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入0 码力 | 37 页 | 685.82 KB | 1 年前3 Java 应用与开发 - Java 语言基础与流程控制大纲 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 Java 应用与开发 Java 语言基础与流程控制 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 August 28, 2018 大纲 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 参考书目 1. 陈国君等编著 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 学习目标 ▶ Java 语言基础 1. 数据类型 2. 常量和变量 3. 关键字与标识符 4. 运算符与表达式 5. 从键盘输入数据 ▶ 流程控制 1. 语句和复合语句 2. 分支结构(选择结构) 3. 循环结构 4. 跳转语句 大纲 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 大纲 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 ���� 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入 语句 分支结构 循环结构 大纲 数据类型 常量和变量 关键字与标识符 运算符与表达式 从键盘获得输入0 码力 | 37 页 | 685.82 KB | 1 年前3
 Java 应用与开发 - Java 内存模型与分配机制内存管理建议 Java 应用与开发 Java 内存模型与分配机制 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 September 30, 2018 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 学习目标 1. 理解 JVM 内存模型,掌握 JVM 内存构成 2. 理解 Java 程序的运行过程,学会通过调试模式观察内存的 变化 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 Java 虚拟机(Java Virtual Machine, JVM) ▶ Java 程序运行在 JVM 上,JVM 是程序与操作系统之间的桥梁。 ▶ JVM 实现了 Java 的平台无关性。 ▶ JVM 是内存分配的前提。 类装载子系统 Class文件 Class文件 Class文件 方法区 Java堆 Java栈 From Survivor To Survivor 新生代 Old Space 老年代 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 Java 程序运行过程会涉及的内存区域 程序计数器 当前线程执行的字节码的行号指示器。 栈 保存局部变量的值,包括:用来保存基本数据类型的值; 保存类的实例,即堆区对象的引用(指针),也可以用来 保存加载方法时的帧。(Stack)0 码力 | 44 页 | 818.30 KB | 1 年前3 Java 应用与开发 - Java 内存模型与分配机制内存管理建议 Java 应用与开发 Java 内存模型与分配机制 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 September 30, 2018 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 学习目标 1. 理解 JVM 内存模型,掌握 JVM 内存构成 2. 理解 Java 程序的运行过程,学会通过调试模式观察内存的 变化 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 Java 虚拟机(Java Virtual Machine, JVM) ▶ Java 程序运行在 JVM 上,JVM 是程序与操作系统之间的桥梁。 ▶ JVM 实现了 Java 的平台无关性。 ▶ JVM 是内存分配的前提。 类装载子系统 Class文件 Class文件 Class文件 方法区 Java堆 Java栈 From Survivor To Survivor 新生代 Old Space 老年代 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 Java 程序运行过程会涉及的内存区域 程序计数器 当前线程执行的字节码的行号指示器。 栈 保存局部变量的值,包括:用来保存基本数据类型的值; 保存类的实例,即堆区对象的引用(指针),也可以用来 保存加载方法时的帧。(Stack)0 码力 | 44 页 | 818.30 KB | 1 年前3
 Java 应用与开发 - Servlet 编程Servlet 概述 Servlet 编程 Servlet 生命周期 Servlet 配置 Servlet 部署 Servlet 示例 Java 应用与开发 Servlet 编程 王晓东 wangxiaodong@ouc.edu.cn 计算机科学与技术系 November 13, 2018 大纲 Web 基础 Servlet 概述 Servlet 编程 Servlet 生命周期 Servlet 组件的跳转,包括重定向和转发。 大纲 Web 基础 Servlet 概述 Servlet 编程 Servlet 生命周期 Servlet 配置 Servlet 部署 Servlet 示例 Servlet 概述 与 Servlet 相近的技术 ▶ CGI (Common Gateway Interface)。 ▶ MS 的 HTTP DLL 技术。 ▶ Perl 语言编写的处理代码。 Servlet 的特点 Servlet 示例 大纲 Web 基础 Servlet 概述 Servlet 编程 Servlet 生命周期 Servlet 配置 Servlet 部署 Servlet 示例 Servlet 的运行过程 1. 用户在浏览器请求 ServletURL 地址。 2. Web 容器接收到请求,检查是 Servlet 请求,将处理交给 Servlet 引擎。 3. Servlet 引擎根据 URL 地址检查是否有0 码力 | 50 页 | 725.36 KB | 1 年前3 Java 应用与开发 - Servlet 编程Servlet 概述 Servlet 编程 Servlet 生命周期 Servlet 配置 Servlet 部署 Servlet 示例 Java 应用与开发 Servlet 编程 王晓东 wangxiaodong@ouc.edu.cn 计算机科学与技术系 November 13, 2018 大纲 Web 基础 Servlet 概述 Servlet 编程 Servlet 生命周期 Servlet 组件的跳转,包括重定向和转发。 大纲 Web 基础 Servlet 概述 Servlet 编程 Servlet 生命周期 Servlet 配置 Servlet 部署 Servlet 示例 Servlet 概述 与 Servlet 相近的技术 ▶ CGI (Common Gateway Interface)。 ▶ MS 的 HTTP DLL 技术。 ▶ Perl 语言编写的处理代码。 Servlet 的特点 Servlet 示例 大纲 Web 基础 Servlet 概述 Servlet 编程 Servlet 生命周期 Servlet 配置 Servlet 部署 Servlet 示例 Servlet 的运行过程 1. 用户在浏览器请求 ServletURL 地址。 2. Web 容器接收到请求,检查是 Servlet 请求,将处理交给 Servlet 引擎。 3. Servlet 引擎根据 URL 地址检查是否有0 码力 | 50 页 | 725.36 KB | 1 年前3
 Java 应用与开发 - 异常处理大纲 异常的概念及分类 Java 异常处理机制 Java 应用与开发 异常处理 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 October 30, 2018 大纲 异常的概念及分类 Java 异常处理机制 学习目标 1. 掌握 Java 异常的概念和分类 2. 深入理解 Java 异常处理机制 大纲 异常的概念及分类 Java 异常处理机制 大纲 异常的概念及分类 怎样去处理它们(因为和用户具体的应用有关); ▶ 另一方面,库的用户知道怎样处理这些错误,但却无法检查 它们何时发生(如果能检测,就可以再用户的代码里处理 了,不用留给库去发现)。 提供异常处理机制的的基本思想 让一个函数在发现了自己无法处理的错误时抛出(throw)一个 异常,然后它的(直接或者间接)调用者能够处理这个问题。 O 《C++ primer》 将问题检测和问题处理相分离。 (Exceptions let 怎样去处理它们(因为和用户具体的应用有关); ▶ 另一方面,库的用户知道怎样处理这些错误,但却无法检查 它们何时发生(如果能检测,就可以再用户的代码里处理 了,不用留给库去发现)。 提供异常处理机制的的基本思想 让一个函数在发现了自己无法处理的错误时抛出(throw)一个 异常,然后它的(直接或者间接)调用者能够处理这个问题。 O 《C++ primer》 将问题检测和问题处理相分离。 (Exceptions let0 码力 | 33 页 | 626.40 KB | 1 年前3 Java 应用与开发 - 异常处理大纲 异常的概念及分类 Java 异常处理机制 Java 应用与开发 异常处理 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 October 30, 2018 大纲 异常的概念及分类 Java 异常处理机制 学习目标 1. 掌握 Java 异常的概念和分类 2. 深入理解 Java 异常处理机制 大纲 异常的概念及分类 Java 异常处理机制 大纲 异常的概念及分类 怎样去处理它们(因为和用户具体的应用有关); ▶ 另一方面,库的用户知道怎样处理这些错误,但却无法检查 它们何时发生(如果能检测,就可以再用户的代码里处理 了,不用留给库去发现)。 提供异常处理机制的的基本思想 让一个函数在发现了自己无法处理的错误时抛出(throw)一个 异常,然后它的(直接或者间接)调用者能够处理这个问题。 O 《C++ primer》 将问题检测和问题处理相分离。 (Exceptions let 怎样去处理它们(因为和用户具体的应用有关); ▶ 另一方面,库的用户知道怎样处理这些错误,但却无法检查 它们何时发生(如果能检测,就可以再用户的代码里处理 了,不用留给库去发现)。 提供异常处理机制的的基本思想 让一个函数在发现了自己无法处理的错误时抛出(throw)一个 异常,然后它的(直接或者间接)调用者能够处理这个问题。 O 《C++ primer》 将问题检测和问题处理相分离。 (Exceptions let0 码力 | 33 页 | 626.40 KB | 1 年前3
 JAVA 应用与开发 - 泛型JAVA 应用与开发 泛 型 让我们愉快的 Coding 起来吧... ��� �������������� October 5, 2018 ���� 理��型的��,������� ▶ �合���的�型 ▶ �型的����� ������型类��型�法 ▶ 理�类型参数 ▶ 理�����������的�型类��型�法 ▶ 受��的类型参数 ��处理�型类型,����������型�器����作0 码力 | 35 页 | 587.40 KB | 1 年前3 JAVA 应用与开发 - 泛型JAVA 应用与开发 泛 型 让我们愉快的 Coding 起来吧... ��� �������������� October 5, 2018 ���� 理��型的��,������� ▶ �合���的�型 ▶ �型的����� ������型类��型�法 ▶ 理�类型参数 ▶ 理�����������的�型类��型�法 ▶ 受��的类型参数 ��处理�型类型,����������型�器����作0 码力 | 35 页 | 587.40 KB | 1 年前3
 Java 应用与开发 - 线程编程大纲 线程基础 线程控制 线程的同步 Java 应用与开发 线程编程 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 November 6, 2018 大纲 线程基础 线程控制 线程的同步 学习目标 1. 线程基础:理解任务调度、进程和线程,掌握其联系和区别; 掌握 Java 的线程模型,以及如何创建线程;理解后台线程。 2. 线程控制:理解线程的生命周期,明白各阶段的含义;掌握 线程控制 线程生命的周期 线程优先级 线程串行化 线程休眠 线程让步 线程挂起与恢复 线程等待与通知 线程的同步 大纲 线程基础 线程控制 线程的同步 ���� 线程基础 相关知识回顾 线程的概念模型 创建线程 后台线程 线程控制 线程生命的周期 线程优先级 线程串行化 线程休眠 线程让步 线程挂起与恢复 线程等待与通知 线程的同步 大纲 线程基础 线程控制 线程的同步 相关知识回顾 相关知识回顾 ���� 线程基础 相关知识回顾 线程的概念模型 创建线程 后台线程 线程控制 线程生命的周期 线程优先级 线程串行化 线程休眠 线程让步 线程挂起与恢复 线程等待与通知 线程的同步 大纲 线程基础 线程控制 线程的同步 相关知识回顾 概念回顾 O 任务调度 ▶ 大部分操作系统的任务调度是采用时间片轮转的抢占式调度 方式,一个任务执行一小段时间后强制暂停去执行下一个任 务,每个任务轮流执行。0 码力 | 82 页 | 1010.73 KB | 1 年前3 Java 应用与开发 - 线程编程大纲 线程基础 线程控制 线程的同步 Java 应用与开发 线程编程 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 November 6, 2018 大纲 线程基础 线程控制 线程的同步 学习目标 1. 线程基础:理解任务调度、进程和线程,掌握其联系和区别; 掌握 Java 的线程模型,以及如何创建线程;理解后台线程。 2. 线程控制:理解线程的生命周期,明白各阶段的含义;掌握 线程控制 线程生命的周期 线程优先级 线程串行化 线程休眠 线程让步 线程挂起与恢复 线程等待与通知 线程的同步 大纲 线程基础 线程控制 线程的同步 ���� 线程基础 相关知识回顾 线程的概念模型 创建线程 后台线程 线程控制 线程生命的周期 线程优先级 线程串行化 线程休眠 线程让步 线程挂起与恢复 线程等待与通知 线程的同步 大纲 线程基础 线程控制 线程的同步 相关知识回顾 相关知识回顾 ���� 线程基础 相关知识回顾 线程的概念模型 创建线程 后台线程 线程控制 线程生命的周期 线程优先级 线程串行化 线程休眠 线程让步 线程挂起与恢复 线程等待与通知 线程的同步 大纲 线程基础 线程控制 线程的同步 相关知识回顾 概念回顾 O 任务调度 ▶ 大部分操作系统的任务调度是采用时间片轮转的抢占式调度 方式,一个任务执行一小段时间后强制暂停去执行下一个任 务,每个任务轮流执行。0 码力 | 82 页 | 1010.73 KB | 1 年前3
 Java 应用与开发 - Java GUI 编程大纲 GUI 组件及布局 GUI 事件处理 Applet Swing Swing 典型组件(课后自学) Java 应用与开发 Java GUI 编程 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 October 30, 2018 大纲 GUI 组件及布局 GUI 事件处理 Applet Swing Swing 典型组件(课后自学) 学习目标 1. 了解用 Java Java 开发桌面软件图形用户界面的常用工具集 2. 掌握 AWT 的常用组件和视觉控制 3. 深入理解 GUI 事件处理机制 4. 了解 Applet,特别是其历史渊源,了解与 Applet 类似的技 术 5. 理解 Swing 和 AWT 的关系,学习使用 Swing 的典型组件 构建较复杂的图形界面程序 大纲 GUI 组件及布局 GUI 事件处理 Applet Swing Swing 组件及布局 GUI 事件处理 Applet Swing Swing 典型组件(课后自学) 组件和容器 组件 组件(Component)是图形用户界面的基本组成元素,凡是能够 以图形化方式显示在屏幕上并能够与用户进行交互的对象均为组 件,如菜单、按钮、标签、文本框、滚动条等。 ▶ 组件不能独立地显示出来,必须将组件放在一定的容器中才 可以显示出来。 ▶ JDK 的 java.awt 包中定义了多种 GUI0 码力 | 73 页 | 876.31 KB | 1 年前3 Java 应用与开发 - Java GUI 编程大纲 GUI 组件及布局 GUI 事件处理 Applet Swing Swing 典型组件(课后自学) Java 应用与开发 Java GUI 编程 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 October 30, 2018 大纲 GUI 组件及布局 GUI 事件处理 Applet Swing Swing 典型组件(课后自学) 学习目标 1. 了解用 Java Java 开发桌面软件图形用户界面的常用工具集 2. 掌握 AWT 的常用组件和视觉控制 3. 深入理解 GUI 事件处理机制 4. 了解 Applet,特别是其历史渊源,了解与 Applet 类似的技 术 5. 理解 Swing 和 AWT 的关系,学习使用 Swing 的典型组件 构建较复杂的图形界面程序 大纲 GUI 组件及布局 GUI 事件处理 Applet Swing Swing 组件及布局 GUI 事件处理 Applet Swing Swing 典型组件(课后自学) 组件和容器 组件 组件(Component)是图形用户界面的基本组成元素,凡是能够 以图形化方式显示在屏幕上并能够与用户进行交互的对象均为组 件,如菜单、按钮、标签、文本框、滚动条等。 ▶ 组件不能独立地显示出来,必须将组件放在一定的容器中才 可以显示出来。 ▶ JDK 的 java.awt 包中定义了多种 GUI0 码力 | 73 页 | 876.31 KB | 1 年前3
 JAVA 应用与开发 - 高级类特性JAVA 应用与开发 高级类特性 让我们愉快的 Coding 起来吧... ��� �������������� October 9, 2018 ���� ��抽象类�接口的������定义方法 ��抽象类�接口的����� ����类的�类�����类�����类�匿名��类的 �� ��匿名内部类的���继承�接口实现的�法 ����类�的��方法 1 29 �� 1 ��类�特性与�用 O 抽象类的特性 �类��实现��类�的��抽象方法�����类���� �为抽象类� 抽象类���实��� 问题 抽象类�����方法� O 抽象类的作用 抽象类�����继承���类��������方�� ��重� �类��重�抽象类�的����抽象方法� �� �类���抽象方法的重写来实现�类��的��� 6 29 ��类�特性与�用 O 抽象类的特性 ��类�特性与�用 O 抽象类的特性 �类��实现��类�的��抽象方法�����类���� �为抽象类� 抽象类���实��� 问题 抽象类�����方法� O 抽象类的作用 抽象类�����继承���类��������方�� ��重� �类��重�抽象类�的����抽象方法� �� �类���抽象方法的重写来实现�类��的��� 6 29 ��类�特性与�用 O 抽象类的特性0 码力 | 61 页 | 677.55 KB | 1 年前3 JAVA 应用与开发 - 高级类特性JAVA 应用与开发 高级类特性 让我们愉快的 Coding 起来吧... ��� �������������� October 9, 2018 ���� ��抽象类�接口的������定义方法 ��抽象类�接口的����� ����类的�类�����类�����类�匿名��类的 �� ��匿名内部类的���继承�接口实现的�法 ����类�的��方法 1 29 �� 1 ��类�特性与�用 O 抽象类的特性 �类��实现��类�的��抽象方法�����类���� �为抽象类� 抽象类���实��� 问题 抽象类�����方法� O 抽象类的作用 抽象类�����继承���类��������方�� ��重� �类��重�抽象类�的����抽象方法� �� �类���抽象方法的重写来实现�类��的��� 6 29 ��类�特性与�用 O 抽象类的特性 ��类�特性与�用 O 抽象类的特性 �类��实现��类�的��抽象方法�����类���� �为抽象类� 抽象类���实��� 问题 抽象类�����方法� O 抽象类的作用 抽象类�����继承���类��������方�� ��重� �类��重�抽象类�的����抽象方法� �� �类���抽象方法的重写来实现�类��的��� 6 29 ��类�特性与�用 O 抽象类的特性0 码力 | 61 页 | 677.55 KB | 1 年前3
共 47 条
- 1
- 2
- 3
- 4
- 5













