java期末复习提纲PPT课件.ppt_第1页
java期末复习提纲PPT课件.ppt_第2页
java期末复习提纲PPT课件.ppt_第3页
java期末复习提纲PPT课件.ppt_第4页
java期末复习提纲PPT课件.ppt_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

面向对象程序设计 第2章Java概述 1 JDK的安装及环境变量的设置 path classpath2 Java程序的运行过程 虚拟机 字节码 第3章Java基本数据类型 自动类型转换 强制类型转换 当程序需要从高级向低级转换数据类型时 就必须实施强制性的类型转换 其语法如图3 21所示 流程控制 选择 if语句 if else语句 if elseif else语句 switch语句循环 while循环 do while循环 for循环跳转语句 break语句 continue语句带标签的语句 第4章类和对象 1 面向对象的程序有着抽象 封装 继承和多态四大特点 2 Java类模板 publicclass类名 定义属性部分属性1的类型属性1 属性2的类型属性2 属性n的类型属性n 定义方法部分方法1 方法2 方法m 类定义的语法规范 类的修饰符 public abstract final 缺省方式为friendly 标识符 标识符是指程序中类 变量 常量 方法等的名字 对类 方法等进行定义和引用时 就需要用到标识符 标识符的命名规则如图所示 对象的声明 使用对象 我们首先要对其进行声明 实例化对象的声明形式如图所示 对象的使用 使用对象 主要是通过对象来访问对象里的某个成员字段或方法 它的语法大致如图所示 12 final 到此为止 final在类之前表示该类是最终类 不能再被继承 final在方法之前表示该方法是最终方法 该方法不能被任何派生的子类覆盖 final在变量之前表示变量的值在初始化之后就不能在改变 相当于定义了一个常量 方法的原理 一般方法的运用原理大致如图4 1所示 我们可以把方法看成一个 黑盒子 方法的使用者 对象 只要将数据送进去就能得到结果 而不用管其是如何工作的 当我们需要改变状态时 就由对象去调用方法 方法通过执行 再将结果返回 这就是方法的运用原理 如何定义类的方法 类的方法定义类的某种行为 或功能 方法的名称 方法的主体 方法返回的数据类型 定义类的方法 public返回值类型方法名 这里编写方法的主体 步骤一 定义方法名以及返回值 步骤二 编写方法体 方法的返回值 如果方法具有返回值 方法中必须使用关键字return返回该值 返回类型为该返回值的类型如果方法没有返回值 返回类型为void publicclassStudent Stringname 张三 publicvoidgetName returnname 返回类型要匹配 return表达式 编译错误 调用方法 方法调用 方法是个 黑匣子 完成某个特定的应用程序功能 并返回结果方法调用 执行方法中包含的语句 对象名 方法名 形参与实参的关系 1 形参变量只有在被调用时才分配内存单元 在调用结束时 即刻释放所分配的内存单元 因此 形参只在函数内部有效 函数调用结束返回主调用函数后则不能再使用该形参变量 2 实参和形参在数量上 类型上 顺序上应严格一致 否则就会发生类型不匹配的错误 如图4 15所示 可在类中直接运用的字段 static关键字 首先我们来看static的用法 字段可以分为静态字段和非静态字段 静态字段可以通过类来访问 非静态字段需要通过对象来访问 静态字段用static关键字来修饰 其语法格式如图3 29所示 20 static 类变量 static用在变量或方法之前 表明它们是属于类的 称为类方法 静态方法 或类变量 静态变量 若无static修饰 则变量和方法分别是实例的方法和变量 classABCD chardata staticintshare data classDemo ABCDa b c d 静态方法与非静态方法 前面已经介绍过 成员字段分为静态字段和非静态字段 其实方法也可以分为静态方法和非静态方法 其中 非静态方法必须在类实例化之后通过对象来调用 而静态方法可以在类实例化之前就使用 使用了static修饰符的方法为静态方法 其定义格式如图所示 没有使用static修饰的即为非静态方法 静态方法与非静态方法 静态方法与非静态方法的区别主要体现在以下两个方面 外部调用静态方法时 可以使用 类名 方法名 的方式 也可以使用 对象名 方法名 的方式 而非静态方法只有后面的这种形式 即调用静态方法无需创建对象 静态方法在访问本类的成员时 只允许访问静态方法 而不许访问非静态方法 非静态方法则无此限制 构造方法 在使用构造方法的时候需要注意以下几点 构造方法的名字必须和类的名字完全相同 构造方法没有返回值 尽管没有返回值 其也不能用 void 修饰构造方法不能用static和final来修饰 一个类可以定义多个构造方法在Java语言中 如果没有为类定义构造方法 那么会由编译器会自动调用一个默认的没有任何操作的无参数的构造方法以保证对象可以得到正确的初始化 第5章数组 若想存放一连串相关的数据 使用数组是一个相当好的选择 首先我们来对数组进行声明 数组声明的格式如图6 3所示 一维数组的声明 一维数组的初始化 数组必须在访问之前进行初始化 数组的初始化有两种方式 第一种方式是以字面形式指定数组的完整内容 intscore 15 32 65 14 27 第二种方式是指定数组的大小 再使用new关键字初始化所有数组元素 数组length属性的使用 Java中 对于每个数组都有一个属性length来指明其长度 如 inta 1 2 3 a length就指明了数组list的长度使用length属性表示数组长度会给程序带来很大的灵活性 使得处理数组的代码与数组的长度没有关系 二维数组的声明和初始化 二维数组是最常见的多维数组 它由行和列组成 每行包含相同的列数 二维数组的初始化与一维的没有多大区别 只是变成了两个下标 两边需标明数组的行数和列数 二维数组的声明格式与初始化如下图所示 二维数组的初始化 1 静态初始化inta 1 2 2 3 3 4 5 intb 3 2 1 2 2 3 3 4 非法2 动态初始化inta newint 3 5 对称二维数组intb newint 3 不对称二维数组b 0 newint 2 b 1 newint 3 b 2 newint 5 创建字符串 Java中创建字符串主要有两种形式 一种是直接使用字符串常量创建字符串变量 另一种是使用new关键字创建字符串变量 具体形式如下图所示 String类位于java lang包中 具有丰富的方法计算字符串的长度连接字符串比较字符串 内容相等equals 提取字符串 indexOf lastIndexOf substring StringBuffer类的声明和创建 由于String对象中存放的字符串是不能修改的 所以如果要求频繁增加 删除和修改字符串中的某些字符 那么用String就不是很方便 在这种情况下 可以使用StringBuffer类 创建StringBuffer对象 首先要进行声明 声明的一般形式如下图所示 第8章继承与多态 第6章继承的实现 访问修饰符 在编写程序的过程中 我们有时并不想父类所有的成员都被子类继承 这时就可以通过访问修饰符去限制继承和可访问权限 我们先通过一个表大概了解一下有哪些修饰符以及它们对外部类和子类的可见性 如下表所示 33 访问修饰符 访问修饰符可访问性 方法的覆盖 方法的覆盖也是我们经常会遇到的情况 所谓 覆盖 就是方法名称相同 但却在不同的场合做不同的事 当一个子类继承一个父类中的方法的名称 参数 类型等都完全一致时 就称子类中的这个方法覆盖了父类中的方法 同样 如果子类中重新定义了父类中已有的字段 则称子类的字段覆盖了父类中的字段 方法的覆盖格式 方法覆盖的语法格式如图8 11所示 36 子类对父类方法的覆盖 如果子类声明了一个与父类的成员方法同名的成员方法 则称父类的该成员方法被重写或覆盖 overriding 方法覆盖是Java实现多态性机制的另一种方式 出现方法覆盖时 同样可通过this和super来区分是父类方法还是子类方法 方法覆盖规则 1 方法名 参数个数 对应参数类型一样 也称为方法签名一样 2 返回值类型一样 3 子类方法的访问控制较父类方法访问控制修饰更松 super关键字 在Java的方法覆盖中我们经常要用到一个特殊的关键字 super关键字 super关键字的主要功能是完成子类在覆盖了父类中的方法后 调用子类所复制的父类的字段和方法 其语法格式如下图所示 我们还可以使用super调用父类中的构造方法 这也是super在程序中经常要用到的作用 几种不能使用方法覆盖的情况 并不是所有的方法都是可以被覆盖的 有时我们也需要子类不能覆盖父类的方法 一般情况下 有三种方法不能被子类覆盖 分别是 static方法 final方法和final类中的方法 为了使大家更好地理解这三种情况 我们分别举一个例子来说明 1 static方法2 final方法3 final类中的方法 方法的重载 方法的重载就是在同一个类中允许同时存在一个以上的同名方法 只要它们的参数个数或类型不同即可 在这种情况下 该方法就叫被重载了 这个过程称为方法的重载 与方法的覆盖不同 重载不是子类对父类同名方法的重新定义 而是类对自身已有的同名方法的重新定义 如何实现多态 1 子类重写父类的方法2 编写方法时 使用父类定义的方法3 运行时 根据实际创建的对象类型动态决定使用哪个方法 40 41 方法修饰符 42 static修饰符 调用静态方法的语法为 classname methodname 43 final修饰符 44 abstract修饰符 抽象类可以具有指向子类对象的对象引用 45 抽象类 抽象类 用abstract关键字来修饰一个类时 该类叫做抽象类 抽象类必须被继承 抽象类不能被直接实例化 它只能作为其它类的超类 这一点与最终类 final类 正好相反 抽象方法 用abstract来修饰一个方法时 该方法叫做抽象方法 抽象方法必须被重写抽象方法只有声明 不能有实现 定义了抽象方法的类必须是抽象类 abstractreturnTypeabstractMethod paramlist 46 接口定义的形式 public interfaceinterfaceName extendsSuperInterfaceList 常量定义和方法定义 接口 interface 作为特殊形式的抽象类 和类 class 在使用上具有类似的约束 一个public接口只能定义在同名的 java文件中 47 类对接口的实现 用implements子句来表示一个类实现某个接口 在类体中可以使用接口中定义的常量 而且必须实现接口中定义的所有方法 利用接口可实现多重继承 即一个类可以实现多个接口 在implements子句中用逗号分隔 接口的作用和抽象类相似 只定义原型 不直接定义方法的内容 接口中的方法和变量都必须是public的 第8章Java的异常处理 49 try catch finally块的执行流程 try块 finally块 catch块 无异常 异常 try 要监控错误的代码块methodGeneratingException catch Exceptione Exceptione的异常处理程序 finally 在try结束前要执行的代码块cleanup 50 使用throw和throws 处理异常 被调用的方法 调用方法 处理异常 可能会导致异常 防止被调用的方法出现异常并处理异常 typecalledmethod name parameter list throwsexception list bodyofmethod typecallingmethod name try statementscalledmethod name catch Exceptione statements 第11章多线程 第9章多线程 1 用Thread类的子类创建线程Thread类包含了线程运行所需要的方法 继承Thread类后就重写run 方法2 用Runnable接口创建线程Runnable接口中只有一个run 方法 实现该接口的类必须实现接口中的run 方法 在其中定义具体操作 使用Thread类的一个构造方法publicThread Runnabletarget 来创建一个新的线程 其中创建参数target的类负责实现Runnable接口 线程的状态一个进程中的所有线程共享该进程的状态 同进程一样 一个线程也有从创建 运行到消亡的过程 称为线程的生命周期 用线程的状态 state 表明线程处在生命周期的哪个阶段 通过线程的控制与调度可使线程在这几种状态间转化 状态如下图所示 线程的睡眠方法 sleep 方法是一个静态的方法 所以sleep 方法不是依赖于某一个对象的 位置比较随意 当在线程中执行sleep 方法 则线程就进入睡眠状态 sleep 方法是可能发生捕获异常的 所以在使用sleep 方法时必须进行异常处理 第13章集合框架 第10章Java的输入输出流 数据的输入 输出属于IO部分 Java把处理输入 输出相关的类放在java io包中 而且java io不属于java lang 所以必须使用import将其导入进来 File类 File类是一个可以对文件本身的属性进行操作的类 例如 可以使用File类中的方法获取文件或者目录的信息 还可以对文件进行创建 修改和删除等操作 File类除了对文件进行操作外 Java允许使用File类将目录当作文件进行处理 File类构造方法如图15 4所示 RandomAccessFile类 除了File类以外 Java还提供了用来专门处理文件的类 并称之为随机访问文件RandomAccessFile类 该类提供了更加完善的 对文件输入输出操作的功能 RandomAccessFile类可以在任意位置进行读写操作 处理文件更加灵活 RandomAccessFile类的构造方法如图15 10所示 第11章集合框架 迭代器 Iterator 迭代器是按次序一个一个地获取集合中所有的对象 是访问集合中每个元素的标准机制迭代器的创建 Iteratorit test iterator test是一个集合的对象常用方法next 返回迭代的下一个元素hasNext 若有下一个可以通过调用next 获取的对象就返回trueremove 删除上次访问返回的对象 List接口 List接口是包含有序元素的一种Collection子接口 其中的元素必须按序存放 元素之间的顺序关系可以由插入的时间先后决定 List接口使用类似于数组下标的索引的概念表示元素在List中的位置 用户能够使用索引来访问List中的元素 索引从0开始 为了保持元素的有序的特性 List接口新增加了大量的方法 使之能够在序列中间根据具体位置添加和删除元素 ArrayList类 ArrayList类是List接口的一个可变长数组 顺序存储结构 的实现 即一个ArrayList类对象可以动态改变大小 每个ArrayList类对象都有一个容量 Capacity 用于存储元素的数组的大小 容量可随着不断添加新元素而自动增加 ArrayList以初始长度创建 当长度超过时 集合自动变大 当删除对象时 集合自动变小 集合中允许存储null值 ArrayList类的随机访问 set get 速度快 但是向表中插入和删除比较慢 当需要插入大量元素时 在插入前可以调用ensureCapacity方法来增加ArrayList的容量以提高插入效率 ArrayList类的主要方法与功能描述 第12章JDBC数据库编程 JDBC允许任何使用Java语言编写的小应用程序或应用程序访问数据库 通过使用SQL语句可以对数据库中的数据进行相应的插入 删除和更新操作 JDBC由Java语言编写的相关类和接口组成 JDBC简介 表中类或接口的作用如下图所示 JDBC数据库的连接 使用Java与数据库连接进行数据存取的过程如图所示 JDBC数据库的连接 1 首先要加载当前数据源的驱动程序 通常使用Class forName 方法加载 其加载方法如图所示 2 建立数据库的连接 可以通过DriverManager类中的getConnection方法来实现与数据库的连接 其连接方法如图所示 Class forName com microsoft sqlserver jdbc SQLServerDriver ConnectionConn DriverManager getConnection jdbc sqlserver localhost 1433 DatabaseName shop sa 123 JDBC数据库的连接 3 建立连接后就可以使用SQL语句对数据库进行访问 这就需要创建Statement对象 通过该对象可以执行相应的SQL语句并将其操作于数据库 其创建方法如图所示 4 将SQL语句执行后的结果返回 执行的查询结果可以以ResultSet结果集的形式返回 其返回方式如图所示 JDBC数据库的连接 5 对结果集进进行处理 例如 我们可以通过使用一个while循序获得结果集中的所有记录 如图所示 6 关闭数据库的连接 在执行完数据库的操作之后 需要将与数据库连接有关的对象关闭 主要包括Statement对象 Connection对象等 关闭方法如图17 20所示 第13章图形界面编程 Java为了实现跨平台的特性并且获得动态的布局效果 Java将容器内的所有组件安排给一个 布局管理器 负责管理 如 排列顺序 组件的大小 位置 当窗口移动或调整大小后组件如何变化等功能授权给对应的容器布局管理器来管理 不同的布局管理器使用不同算法和策略 容器可以通过选择不同的布局管理器来决定布局 布局管理器主要包括 FlowLayout BorderLayout GridLayout CardLayout GridBagLayout LayoutManager布局管理器 69 AWT事件处理模型 要能够让图形界面接收用户的操作 就必须给各个组件加上事件处理机制 在事件处理的过程中 主要涉及三类对象 Event 事件 用户对界面操作在java语言上的描述 以类的形式出现 例如键盘操作对应的事件类是KeyEvent EventSource 事件源 事件发生的场所 通常就是各个组件 例如按钮Button Eventhandler 事件处理者 接收事件对象并对其进行处理的对象 70 事件及处理机制 调用按扭的addActionListener 方法 为该按扭指定监听者 71 事件类 低级事件ComponentEvent 组件事件 组件尺寸的变化 移动 ContainerEvent 容器事件 组件增加 移动 WindowEvent 窗口事件 关闭窗口 窗口闭合 图标化 FocusEvent 焦点事件 焦点的获得和丢失 KeyEvent 键盘事件 键按下 释放 MouseEvent 鼠标事件 鼠标单击 移动 高级事件 语义事件 ActionEvent 动作事件 按钮按下 TextField中按Enter键 AdjustmentEvent 调节事件 在滚动条上移动滑块以调节数值 ItemEvent 项目事件 选择项目 不选择 项目改变 TextEvent 文本事件 文本对象改变 72 事件监听器 每类事件都有对应的事件监听器 监听器是接口 根据动作来定义方法 AWT的组件类中提供注册和注销监听器的方法 注册监听器 publicvoidadd listener 注销监听器 publicvoidremove listener 例如Button类 查API publicclassButtonextendsComponent publicsynchronizedvoidaddActionListener ActionListenerl publicsynchronizedvoidremoveActionListener ActionListenerl 73 事件适配器 Java语言为一些Listener接口提供了适配器 Adapter 类 可以通过继承事件所对应的Adapter类

温馨提示

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

评论

0/150

提交评论