Java面向对象程序设计 第19讲(期末复习一) 任课教师:徐鲁辉 授课时间:2007/01/03 2007/01/05
【考试题型】 判断题(共10题,共10分) 选择题(共20题,共40分) 填空题(共5空,共10分) 程序填空(共5空,共10分) 读程序写结果(共2题,共10分) 编程题(共2题,共20分) Java面向对象程序设计期末复习一
【考试范围】 Ch1 面向对象概述 Ch2 导论 Ch3 基本语法 Ch4 Java对象的生命周期 Ch5 对象设计的Java规范 Ch7 I/O Ch9 GUI Java面向对象程序设计期末复习一
第1章 面向对象概述 OO技术的三要素 封装(Encapsulation) 继承(Inheritance) 多态(Polymorphism) 第1章 面向对象概述 OO技术的三要素 封装(Encapsulation) 继承(Inheritance) 多态(Polymorphism) “PIE” Java面向对象程序设计期末复习一
第2章 Java导论 Java语言的特点; Java的执行环境; JDK的组成、安装和配置; (重点) javac、java、appletviewer、javap等命令的使用; (重点) application和applet的基本结构; (重点) Java关于应用程序主方法的规定; (重点) applet的生命周期。 Java面向对象程序设计期末复习一
Java的执行环境 Java面向对象程序设计期末复习一
JDK的组成、安装和配置 JDK的组成 JDK的配置 J2EE J2SE J2ME 告诉OS到哪里可以找到Java的编译器等可执行文件 SET PATH=c:\j2sdk1.4.2_12\bin SET CLASSPATH=.;D:\JavaTest 告诉OS到哪里可以找到编译或解释运行时所需的字节代码文件 Java面向对象程序设计期末复习一
application application基本结构: [public] class 类名{ public static void main(String[] args){ …//编写代码位置 } …//其他方法设计 在这个方法中,除了变量名agrs可以改变,public/static可以倒序外,其它内容均不可改变,甚至排放的顺序都是不可改变的 application编辑、运行步骤: 编辑.java源文件; javac *.java; java * Java面向对象程序设计期末复习一
applet 小程序必须嵌入浏览器方可运行 applet基本结构: applet编辑、运行步骤: import java.awt.Graphics; import javax.swing.JApplet; //或import java.applet.Applet; [public] class 类名 extends JApplet{ //或[public] class 类名 extends Applet{ public void paint(Graphics g){ …//直接绘制图形经常重写此方法 } public void init(){ …//小程序中包含其他图形组件时经常重写此方法 …//其他方法设计 applet编辑、运行步骤: 编辑.java源文件; javac *.java; 编辑.html或.htm文件,将.class文件写入标记“CODE”中; 运行:IE等浏览器或appletviewer *.html 在Applet的界面中显示文字、图形和其它界面元素 Java面向对象程序设计期末复习一
applet的生命周期 被调用多次 仅执行一次 被调用多次 Java面向对象程序设计期末复习一
第3章 Java的基本语法(1) Java语言区分大小写; Java语言的类型结构: 8种基本类型 3种引用类型 空类型 8种基本类型对应的包装类(会用类中定义的常用方法及常量) 与字符串相关的类使用:String、StringBuffer 类:关键字class,类体成员包括属性、方法、内嵌类、内嵌接口,当用final修饰属性,final、abstract修饰类、方法时意味着什么?? 接口:关键字interface 数组:声明如int[] x,第一个元素从编号0开始,数组的长度用属性“x.length”得到。 Java面向对象程序设计期末复习一
第3章 Java的基本语法(2) 类型转换:拓宽自动转换、窄化手工转换; 7种运算符; 6种语句: 编组语句:代码块“{}”、空语句“;” 表达式语句 选择语句:if语句、switch语句 循环语句:while语句、do…while语句、for语句 控制转移语句:标识语句、continue、break、return 注释语句:“/*…*/、“/**…*/” 用JDK提供的文档生成器工 具“javadoc”可对注释语句 “/**……*/”进行提取 Java面向对象程序设计期末复习一
【课堂练习(1)】 continue的用法 class Demo { public static void main(String[] args) { for (int i=0; i<10; i++) { if (i%2 != 0) continue; System.out.print(i + " "); } 运行结果: 0 2 4 6 8 Java面向对象程序设计期末复习一
第4章 Java对象的生命周期 类变量、实例变量、局部变量的定义和区别; (重点) 关键字this和super的使用方法; (重点) public->protected -> default-> private由强到弱的访问权限修饰符; 对象生命周期的4个阶段。 (重点) Java面向对象程序设计期末复习一
类变量、实例变量、局部变量的定义和区别 声明位置 是否带static 初始化时机 作用域 有无默认值 类变量 实例变量 局部变量 类体 是 类加载时 整个类 有 实例变量 否 对象初始化时 某一个类具体创建的实例对象 局部变量 语句或代码块 声明语句被执行时进行初始化 声明该变量的语句或代码块 无(除数组变量外),若调用必须首先显式赋值 Java面向对象程序设计期末复习一
关键字this和super的使用方法 this和super只能用于与实例有关的代码块中; 在Object类中不能使用关键字super。 Java面向对象程序设计期末复习一
访问权限修饰符 强 弱 public 在任何地方,只要能访问到该类,就能访问到该成员 protected 该成员允许同一包中其他类或该类子类访问 默认的访问权限,当前包中的所有其他类对该成员都有访问权限,又称为包访问权限 (default) 除了包含该成员的类之外,其他任何类都无法访问该成员 private Java面向对象程序设计期末复习一
对象生命周期的4个阶段(1) 声明 创建 使用 清除 Java语言声明引用类型要先指定类型,然后给出相应的变量标识符: Type Identifier; 数组的声明语句格式: Type[ ] Identifier; final型引用类型变量意味着什么?? 声明 创建 使用 清除 Java面向对象程序设计期末复习一
对象生命周期的4个阶段(2) 声明 创建 使用 清除 利用关键字new可以创建一个对象,new运算符为对象分配内存空间,调用该类的一个构造方法,返回该对象所在内存地址的一个引用,该对象引用可以赋给类型匹配的对象变量,以后可以通过该变量操作所引用的对象,如:Object obj=new Object(); 数组对象的创建,如: int[ ] i=new int[10]; 声明 创建 使用 清除 Java面向对象程序设计期末复习一
【课堂练习(2)】 编写Java独立应用程序,随机生成n(n为预先设置好的一个整数)个0到100之间的随机整数,并输出这n个随机整数的和 。 CASE:RandomIntSum.java Java面向对象程序设计期末复习一
【对象的初始化】 声明 创建 使用 清除 对象的初始化: 成员变量的默认初始化过程; 类成员变量的初始化与静态代码块的执行过程; 实例成员变量的初始化与实例代码块、构造方法的执行过程; 继承链上相关类的加载顺序; 构造方法链的调用、构造方法的设计。 声明 创建 使用 清除 Java面向对象程序设计期末复习一
类变量、实例变量的初始化及静态代码块、实例代码块、构造方法的执行顺序小结 加载类 加载类时执行 成员变量的默认初始化 实例变量的显式赋值语句; 实例代码块; 构造方法 类变量的显式赋值语句; 静态代码块的原有语句 main()方法 创建对象实例时执行 Java面向对象程序设计期末复习一
【课堂练习(3)】 执行java Happy0419时运行结 果是: 10;50;100; ch4课后题的第19题 class Hello{ static int i=10; Hello(){ i=50; System.out.print(i+";"); } static{ class Happy0419 extends Hello{ Happy0419(){ i=100; public static void main(String[] args){ new Happy0419(); 执行java Happy0419时运行结 果是: 10;50;100; Java面向对象程序设计期末复习一
对象生命周期的4个阶段(3) 声明 创建 使用 清除 覆盖、重载的使用; 对象的比较:“==”、equals() ; 对象的传递:参数的2种传递方式、clone()的使用; 内部类的3种形式、命名规则和使用注意事项。 声明 创建 使用 清除 Java面向对象程序设计期末复习一
【课堂练习(4)】 运行结果: obj1.i=0 obj1.j=1 In A’s showStatic()…… 读程序写结果 class A { static int i = 0; int j = 1; static void showStatic() { System.out.println("In A's showStatic()......"); } void showNonstatic() { System.out.println("In A's showNonstatic()......"); class B extends A { static int i = 2; int j = 3; System.out.println("In B's showStatic()......"); System.out.println("In B's showNonstatic()......"); public class ConversionTest { public static void main(String[] args) { A obj1 = new B(); System.out.println("obj1.i = "+obj1.i); System.out.println("obj1.j = "+obj1.j); obj1.showStatic(); obj1.showNonstatic(); System.out.println(((B)obj1).i); B obj2 = new B(); System.out.println(((A)obj2).i); ((A)obj2).showNonstatic(); ((A)obj2).showStatic(); } 运行结果: obj1.i=0 obj1.j=1 In A’s showStatic()…… In B’s showNonstatic()…… 2 Java面向对象程序设计期末复习一
【课堂练习(5)】 读程序写结果 class PassArgs { static void swap(int i, int j){ int temp = i; i = j; j = temp; } public static void main(String[] args) { int x = 1; int y = 2; swap(x,y); System.out.println("x = "+x); System.out.println("y = "+y); 运行结果是: x = 1 y = 2 思考:方法传递的参数是引用类型变量时,将会按哪种方式传递?? Java面向对象程序设计期末复习一
对象生命周期的4个阶段(4) 声明 创建 使用 清除 垃圾自动回收机制; 垃圾回收的2种概念模型:引用计数模型、标记-清除模型; 与垃圾回收有关的一些常用方法: java.lang.Runtime类和java.lang.System类中提供的方法。 声明 创建 使用 清除 Java面向对象程序设计期末复习一