配合< Java面向对象程序设计>例子源代码一起使用

Slides:



Advertisements
Similar presentations
网络应用程序设计 2014 JavaBean. JavaBean 及其属性 JavaBean 就是一种 Java 的组件技术 JavaBean 是 Java 类 JavaBean 通过约定的方法名实现属性功能 简单属性 void setXxx(Type value) Type getXxx() boolean.
Advertisements

7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
第3章 使用类和对象编程 软 件 学 院 朱士明 副教授.
项目三 Java面向对象程序设计 任务一 了解面向对象程序设计的基本概念 任务二 掌握类的使用方法 任务三 熟悉对象的创建与使用方法
西南科技大学网络教育系列课程 高级语程序设计(Java) 第四章 类与对象.
第四章 类 和 对 象.
第4章 类 和 对 象.
第四章 类、对象和接口.
3.6 static关键字 3.7 内部类 3.8 Java的帮助文档
第四章 对象与类 掌握面向对象程序设计语言的特点 理解对象、类,类和对象的关系 掌握类,成员变量,方法的定义 掌握构造方法的定义
Java软件开发基础 4. 面向对象的程序设计基础.
第3章 面向对象程序设计.
Java的面向对象程序设计.
本章导读 类声明和类体及其构成 第4章 类与对象 本章导读 import语句 构造方法与对象的创建 访问权限 对象的引用与实体
项目6 通用堆栈.
第4章 类与对象 本章导读 0. 面向对象编程 1. 类声明和类体 2. 类体的构成 3. 构造方法与对象的创建 4. 对象的引用与实体
Java面向对象程序设计 第19讲(期末复习一)
第五章 Java面向对象编程基础 类:现实世界中实体的抽象集合。 5.1定义类 定义类的过程就是定义类的属性和服务的过程;
第14章 c++中的代码重用.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
类与对象 Java 实用技术4 类与对象
第10讲 Java面向对象编程基础(4) 教学目标 主要内容.
Java 第12讲:static与方法重载 主讲教师:李焱 讲师.
第4章 类、对象和接口 4.1 编程语言的几个发展阶段 4.11 abstract 类和abstract方法 4.2 类
第六章 JAVA语言中的面向对象特性 6.1 类 6.2 对象 6.3 面向对象的特性 6.4 抽象类、接口和Inner Class.
第四章 Java面向对象程序设计.
面向对象的概念 构造方法 this和static关键字
第九章 字符串.
第4章 面向对象编程方法 王德俊 上海交通大学继续教育学院.
第4章 类、对象和接口 4.1 编程语言的几个发展阶段 4.2 类 4.3 对象 4.4 static 关键字 4.5 this 关键字
管理信息结构SMI.
走进编程 程序的顺序结构(二).
辅导课程六.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第二章 Java语言基础.
Java程序设计 第7章 对象和类.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
第7章 包及访问控制权限 7.1 包的基本概念 7.2 系统常见包 7.3 包的导入 7.4 访问控制权限修饰符 7.5 jar命令的使用.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
$9 泛型基础.
Java變數 2014/6/24.
C#面向对象程序设计 $6 深入理解类.
第二章 Java基本语法 讲师:复凡.
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
本节内容 类成员的访问控制 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二章 Java语法基础.
第九节 赋值运算符和赋值表达式.
3.5 Java的包与访问控制符.
Chapter 18 使用GRASP的对象设计示例.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
辅导课程十五.
第二章 Java基本语法 讲师:复凡.
第7章 模板 陈哲 副教授 南京航空航天大学 计算机科学与技术学院.
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第十章 多态 第十一组 C++语言程序设计.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
第四章 UNIX文件系统.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
第二章 简单数据类型 §2.1 数据类型概述 §2.2 变量和常量 §2.3 简单数据类型 §2.4 简单数据类型的相互转换
Presentation transcript:

配合< Java面向对象程序设计>例子源代码一起使用 类与对象 Power point 制作:耿祥义 张跃平 配合< Java面向对象程序设计>例子源代码一起使用 2010-1-10 1

导读 主要内容 难点 类 对象 参数传值 对象组合 static关键字 this关键字 包 import语句 jar文件 参数传值与对象组合 2010-1-10 2

§4.1 编程语言的几个发展阶段 ◆ 面向机器语言 ◆面向过程语言 ◆面向对象语言 面向对象编程主要体现下列三个特性 ◇封装性 ◇继承 §4.1 编程语言的几个发展阶段 ◆ 面向机器语言 ◆面向过程语言 ◆面向对象语言 面向对象编程主要体现下列三个特性 ◇封装性 ◇继承 ◇多态 2010-1-10 3

类是组成Java程序的基本要素。类封装了一类对象的状态和方法。类是用来定义对象的模板。 §4.2 类 类是组成Java程序的基本要素。类封装了一类对象的状态和方法。类是用来定义对象的模板。 类的实现包括两部分:类声明和类体。基本格式为: class 类名 { 类体的内容 } 2010-1-10 4

§4.2.1 类声明   ◆类声明 :class 类名 如:class People”和“class 动物”称作类声明;“People”和“动物”分别是类名。 ◆ 给类命名时,遵守下列编程风格(这不是语法要求的,但应当遵守): 1.如果类名使用拉丁字母,那么名字的首字母使用大写字母,如。 2.类名最好容易识别、见名知意。当类名由几个“单词”复合而成时,每个单词的首字母使用大写。 2010-1-10 5

◆类体的内容由两部分构:一部分是变量的声明,用来刻画属性;另一部分是方法的定义,用来刻画功能。 §4.2.2 类体   ◆ 类声明之后的一对大括号“{”,“}”以及它们之间的内容称作类体,大括号之间的内容称作类体的内容。 ◆类体的内容由两部分构:一部分是变量的声明,用来刻画属性;另一部分是方法的定义,用来刻画功能。 2010-1-10 6

§4.2.3 成员变量和局部变量 类体中变量声明部分所声明的变量被称作类的成员变量。在方法体中声明的变量和方法的参数被称作局部变量。 §4.2.3 成员变量和局部变量   类体中变量声明部分所声明的变量被称作类的成员变量。在方法体中声明的变量和方法的参数被称作局部变量。 1.变量的类型:成员变量和局部变量的类型可以是Java中的任何一种数据类型,包括基本类型:整型、浮点型、字符型;引用类型:数组、对象和接口(对象和接口见后续内容)。 2.变量的有效范围:成员变量在整个类内都有效,局部变量只在声明它的方法内有效。方法参数在整个方法内有效,方法内的局部变量从声明它的位置之后开始有效。 3.实例变量与类变量:在声明成员变量时,用关键字static给予修饰的称作类变量,否则称作实例变量(类变量也称为static变量,静态变量)。 4.成员变量的隐藏:如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏,即这个成员变量在这个方法内暂时失效。 5.编程风格 (1)一行只声明一个变量。 (2)变量的名字符合标识符规定。 (3)变量名字见名知意,避免容易混淆的变量名字。 2010-1-10 7

§4.2.4 方法 方法的定义包括两部分:方法声明和方法体。一般格式为: 1.方法声明 方法声明包括方法名和方法的返回类型,如: 2.方法体 §4.2.4 方法   方法的定义包括两部分:方法声明和方法体。一般格式为: 方法声明部分 { 方法体的内容 } 1.方法声明 方法声明包括方法名和方法的返回类型,如: float area() { … 注:方法的返回类型、方法的参数、方法的名字 2.方法体 方法声明之后的一对大括号“{” ,“}”以及之间的内容称作方法的方法体。方法体的内容包括局部变量的声明和Java语句。 2010-1-10 8

方法重载的意思是:一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。 §4.2.5 方法重载   方法重载的意思是:一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。 2010-1-10 9

构造方法是一种特殊方法,它的名字必须与它所在的类的名字完全相同,而且没有类型,构造方法也可以重载。 §4.2.6 构造方法 构造方法是一种特殊方法,它的名字必须与它所在的类的名字完全相同,而且没有类型,构造方法也可以重载。 2010-1-10 10

方法声明时,方法类型前面不加关键字static修饰的是实例方法、加static修饰的是类方法(静态方法)。 §4.2.7 类方法和实例方法 方法声明时,方法类型前面不加关键字static修饰的是实例方法、加static修饰的是类方法(静态方法)。 2010-1-10 11

1.对成员变量的操作只能放在方法中,方法可以对成员变量和该方法体中声明的局部变量进行操作。 §4.2.8 几个值得注意的问题 1.对成员变量的操作只能放在方法中,方法可以对成员变量和该方法体中声明的局部变量进行操作。 2.需要注意的是:实例方法既能对类变量操作也能对实例变量操作,而类方法只能对类变量进行操作。 3.一个类中的方法可以互相调用,实例方法可以调用该类中的其它方法;类中的类方法只能调用该类的类方法,不能调用实例方法。 2010-1-10 12

§4.3 对象 §4.3.1 创建对象 1.对象的声明 People zhangPing; 2.为声明的对象分配内存 §4.3 对象 §4.3.1 创建对象 1.对象的声明 People zhangPing; 2.为声明的对象分配内存 zhangPing=new People(); 例4-1,例4-2 3.对象的内存模型 (1)声明对象时的内存模型 (2)对象分配内存后的内存模型 4.创建多个不同的对象 2010-1-10 13

1.通过使用运算符“.” 对象操作自己的变量(对象的属性) 2.使用运算符“.”,对象调用类中的方法(对象的功能) §4.3.2 使用对象   1.通过使用运算符“.” 对象操作自己的变量(对象的属性) 2.使用运算符“.”,对象调用类中的方法(对象的功能) 例4-3 2010-1-10 14

当用类创建一个对象时,类中的成员变量在分配内存空间,这些内存空间称作该对象的实体或对象的变量,而对象中存放着引用。 §4.3.3 对象的引用和实体   当用类创建一个对象时,类中的成员变量在分配内存空间,这些内存空间称作该对象的实体或对象的变量,而对象中存放着引用。 一个类创建的两个对象,如果具有相同的引用,那么就具有完全相同的实体。 2010-1-10 15

§4.4 参数传值 §4.4.1 基本数据类型参数的传值 对于基本数据类型的参数,向该参数传递的值的级别不可以高于该参数的级别 。 例4-4 §4.4 参数传值 §4.4.1 基本数据类型参数的传值 对于基本数据类型的参数,向该参数传递的值的级别不可以高于该参数的级别 。 例4-4 2010-1-10 16

当参数是引用类型时,“传值”传递的是变量中存放的“引用”,而不是变量所引用的实体。 例4-5 §4.4.2 引用类型参数的传值   当参数是引用类型时,“传值”传递的是变量中存放的“引用”,而不是变量所引用的实体。 例4-5 2010-1-10 17

例如: public void f(int ... x) §4.4.3 可变参数 可变参数是指在声明方法时不给出参数列表中从某项直至最后一项参数的名字和个数,但这些参数的类型必须相同。可变参数使用“…”表示若干个参数,这些参数的类型必须相同,最后一个参数必须是参数列表中的最后一个参数。 例如: public void f(int ... x) 例4-6 2010-1-10 18

面向对象编程核心思想之一就是将数据和对数据的操作封装在一起。。 1.Rational(有理数)类 2.用Rational对象做运算 §4.4.4 有理数的类封装 面向对象编程核心思想之一就是将数据和对数据的操作封装在一起。。 1.Rational(有理数)类 2.用Rational对象做运算 Rational.java MainClass.java 2010-1-10 19

§4.5 对象的组合 一个类可以把对象作为自己的成员变量,如果用这样的类创建对象,那么该对象中就会有其它对象,也就是说该对象将其他对象作为自己的组成部分,或者说该对象是由几个对象组合而成。 例4-7 2010-1-10 20

方法声明中用static 修饰的方法—类方法 2010-1-10 21

§4.6.1 实例变量和类变量的区别 如果类中有类变量,那么所有对象的这个类变量都分配给相同的一处内存,改变其中一个对象的这个类变量会影响其它对象的这个类变量。也就是说对象共享类变量。 例4-8 2010-1-10 22

当用类创建对象后,类中的实例方法才分配入口地址,从而实例方法可以被类创建的任何对象调用执行。 §4.6.2 实例方法和类方法的区别 当用类创建对象后,类中的实例方法才分配入口地址,从而实例方法可以被类创建的任何对象调用执行。 对于类中的类方法,在该类被加载到内存时,就分配了相应的入口地址。 例4-9 2010-1-10 23

§4.7 this 关键字 this是Java的一个关键字,表示某个对象。this可以出现在实例方法和构造方法中,但不可以出现在类方法中。 2010-1-10 24

this关键字出现在类的构造方法中时,代表使用该构造方法所创建的对象。 例4-10 2010-1-10 25

当this关键字出现实例方法中时,代表正在调用该方法的当前对象。 当实例成员变量在实例方法中出现时,默认的格式是:this.成员变量。 当static成员变量在实例方法中出现时,默认的格式是:类名.成员变量。 2010-1-10 26

包是Java语言中有效地管理类的一个机制。 包名的目的是有效的区分名字相同的类。 §4.8 包 包是Java语言中有效地管理类的一个机制。 包名的目的是有效的区分名字相同的类。 2010-1-10 27

package语句作为Java源文件的第一条语句,为该源文件中声明的类指定包名。 package语句的一般格式为: package 包名; §4.8.1 包语句 通过关键字package声明包语句。 package语句作为Java源文件的第一条语句,为该源文件中声明的类指定包名。 package语句的一般格式为: package 包名; 2010-1-10 28

那么存储文件的目录结构中必须包含有如下的结构 …\tom\jiafei 如: §4.8.2 有包名的类的存储目录 程序如果使用了包语句,例如: package tom.jiafei; 那么存储文件的目录结构中必须包含有如下的结构 …\tom\jiafei 如: c:\1000\tom\jiafei 并且要将源文件编译得到的类的字节码文件保存在目录c:\1000\tom\jiafei中(源文件可以任意存放)。 2010-1-10 29

假设tom\jiefei的上一层目录是1000,那么,必须如下格式来运行: §4.8.3 运行有包名的主类 如果主类的包名是tom.jiafei,那么主类的字节码一定存放在…\tom\jiefei目录中,运行时必须到tom\jiefei的上一层(即tom的父目录)目录中去运行主类。 假设tom\jiefei的上一层目录是1000,那么,必须如下格式来运行: C:\1000\java tom.jiafei.主类名 注:主类名是:“包名.主类名” 例4-11 2010-1-10 30

一个类可能需要另一个类声明的对象作为自己的成员或方法中的局部变量,如果这两个类在同一个包中,当然没有问题。 §4.9 import 语句 一个类可能需要另一个类声明的对象作为自己的成员或方法中的局部变量,如果这两个类在同一个包中,当然没有问题。 如果一个类想要使用的那个类和它不在一个包中,要使用import语句完成使命。 2010-1-10 31

如果用户需要类库中的类就必须使用import语句,如: import java.until.Date; §4.9.1 引入类库中的类 如果用户需要类库中的类就必须使用import语句,如: import java.until.Date; 例4-12 2010-1-10 32

用户程序可以使用tom.jiafei包中的类,即使用非类库中有包名的类,也要使用import语句,如: §4.9.2 引入自定义包中的类 用户程序可以使用tom.jiafei包中的类,即使用非类库中有包名的类,也要使用import语句,如: import tom.jiafei.*; 例4-13, 例4-14 2010-1-10 33

如果一个类想使用无名包中的类,只要将这个无包名的类的字节码和当前类保存在同一目录中即可。 §4.9.3 使用无包名的类 如果一个类想使用无名包中的类,只要将这个无包名的类的字节码和当前类保存在同一目录中即可。 例4-15 2010-1-10 34

如果想同时使用tom.jiafei包中的A类和无名包中的A类,就不能省略包名,例如: A a1=new A(); 2.区分有包名的类 §4.9.4 避免类名混淆 1.区分无包名和有包名的类 如果想同时使用tom.jiafei包中的A类和无名包中的A类,就不能省略包名,例如: A a1=new A(); tom.jiafei.A a2=new tom.jiafei.A(); 2.区分有包名的类 如果一个源文件引入了两个包中同名的类,那么在使用该类时,不允许省略包名,比如: tom.jiafei.A bird=new tom.jiafei.A(); sun.com.A goat=new sun.com.A(); 2010-1-10 35

访问限制修饰符有private、protected和public,都是Java的关键字,用来修饰成员变量或方法。 §4.10 访问权限 访问限制修饰符有private、protected和public,都是Java的关键字,用来修饰成员变量或方法。 2010-1-10 36

用关键字private修饰的成员变量和方法称为私有变量和私有方法。 §4.10.1 私有变量和私有方法 用关键字private修饰的成员变量和方法称为私有变量和私有方法。 对于私有成员变量或方法,只有在本类中创建该类的对象时,这个对象才能访问自己的私有成员变量和类中的私有方法。 例4-16,例4-17 2010-1-10 37

用public修饰的成员变量和方法被称为共有变量和共有方法 。 §4.10.2 共有变量和共有方法 用public修饰的成员变量和方法被称为共有变量和共有方法 。 我们在任何一个类中用类Tom 创建了一个对象后,该对象能访问自己的public变量和类中的public方法(也可以通过类名来操作成员变量、方法) 。 2010-1-10 38

当在另外一个类中用类Tom 创建了一个对象后,如果这个类与Tom类在同一个包中,那么该对象能访问自己的友好变量和友好方法。 §4.10.3 友好变量和友好方法 当在另外一个类中用类Tom 创建了一个对象后,如果这个类与Tom类在同一个包中,那么该对象能访问自己的友好变量和友好方法。 在任何一个与Tom同一包中的类中,也可以通过Tom类的类名访问Tom类的类友好成员变量和类友好方法。 2010-1-10 39

用protected修饰的成员变量和方法被称为受保护的成员变量和受保护的方法 。 §4.10.4 受保护的成员变量和方法 用protected修饰的成员变量和方法被称为受保护的成员变量和受保护的方法 。 访问权限 同类 同包 不同包 Private 可以 不 友好的 不可以 Protected Public 2010-1-10 40

类声明时,如果在关键字class前面加上public关键字,就称这样的类是一个public 类 。 在另外一个类中使用友好类创建对象时,要保证它们是在同一包中。 2010-1-10 41

Java的基本数据类型包括:byte、int、short、long、float、double、char。 §4.11 基本类型的类包装 Java的基本数据类型包括:byte、int、short、long、float、double、char。 Java提供了基本数据类型相关的类,实现了对基本数据类型的封装。 这些类分别是:Byte、Integer、Short、Long、Float、Double和Character类。这些类在java.lang包中。 2010-1-10 42

Double类和Float类实现了对double和float基本型数据的类包装。 Double类的构造方法:Double(double num) Float类的构造方法: Float(float num) Double对象调用doubleValue()方法可以返回该对象含有的double型数据。 Float对象调用floatValue()方法可以返回该对象含有的float型数据。 2010-1-10 43

§4.11.2 Byte、Short 、Integer、Long类 上述个类的构造方法分别 : Byte(byte num) Short(short num) Integer(int num) Long(long num) Byte、Short、Integer和Long对象分别调用 byteValue ()、shortValue()、intValue()和longValue ()方法返回该对象含有的基本型数据。 2010-1-10 44

Character类实现了对char基本型数据的类包装。 Character类的构造方法:Character(char c) Character类中的一些常用类方法: public static boolean isDigit(char ch) 如果ch是数字字符方法返回 true,否则返回false。 public static boolean isLetter(char ch) 如果ch是字母方法返回 true,否则返回false。 public static boolean isLetterOrDigit(char ch) 如果ch是数字字符或字母方法返回 true,否则返回false。 public static boolean isLowerCase(char ch) 如果ch是小写字母方法返回 true,否则返回false。 public static boolean isUpperCase(char ch) 如果ch是大写字母方法返回 true,否则返回false。 public static char toLowerCase(char ch) 返回ch的小写形式。 public static char toUpperCase(char ch) 返回ch的大写形式。 public static boolean isSpaceChar(char ch) 如果ch是空格返回true。例4-18 2010-1-10 45

所谓自动装箱就是允许把一个基本数据类型的值直接赋值给基本数据类型相对应的类的实例,例如: §4.11.4 自动装箱与拆箱 所谓自动装箱就是允许把一个基本数据类型的值直接赋值给基本数据类型相对应的类的实例,例如: Integer number=100; Double a=12.3; Double a; a=12.3; 自动拆箱就是允许把基本数据类型相对应的类的实例直接赋值给相应的基本数据类型变量或把基本数据类型相对应的类的实例当作相应的基本数据类型来使用,例如:number是一个Integer对象,那么允许: int x=number+number; 例4-19 2010-1-10 46

§4.12 反编译和文档生成器 javap java.util.Date §4.12.1 javap反编译 §4.12 反编译和文档生成器 §4.12.1 javap反编译 JDK提供的反编译器javap.exe可以将字节码反编译为源码,查看源码类中的public方法名字和public成员变量的名字,例如: javap java.util.Date 2010-1-10 47

使用JDK提供的javadoc.exe可以制做源文件的html格式文档。 假设D:\test有源文件Example.java,用 javadoc Example.java 生成Example.java的html格式文挡。 例4-20 2010-1-10 48

§4.13 jar文件 我们可以使用jar.exe命令把一些类的字节码文件压缩成一个jar文件,然后将这个jar文件存放到Java运行环境的扩展中,即将该jar文件存放在JDK安装目录的jre\lib\ext文件夹中。这样,Java应用程序就可以使用这个jar文件中的类来创建对象了。 (1)有包名的类:TestOne和TestTwo类的包名为moon.star ◆首先编写一个清单文件:hello.mf(Manifestfiles)保存到C:\1000目录中 Manifest-Version: 1.0 Class: moon.start.TestOne moon.star.TestTwo Created-By: 1.6 ◆ jar命令 C:\1000\jar cfm Jerry.jar hello.mf moon\star\TestOne.class moon\star\TestTwo.class (2)无包名的类: TestOne和TestTwo类没有包名 ◆只需将TestOne.java和TestTwo保存到C:\1000 中、编译得到字节码文件 ◆将(1)中清单文件中类的包名去掉后保存到c:\1000中。 ◆使用jar命令: C:\1000\jar cfm Jerry.jar hello.mf TestOne.class TestTwo.class 2010-1-10 49

§4.14 小结 1.类是组成Java源文件的基本元素,一个源文件是有若干个类组成的。 2.类体可以有两种重要的成员:成员变量和方法。 §4.14 小结 1.类是组成Java源文件的基本元素,一个源文件是有若干个类组成的。 2.类体可以有两种重要的成员:成员变量和方法。 3.成员变量分为实例变量和类变量。类变量被该类的所有对象共享;不同对象的实例变量互不相同。 4.除构造方法外,其它方法分为实例方法和类方法。类方法不仅可以由该类的对象调用,也可以用类名调用;而实例方法必须由对象来调用。 5.实例方法即可以操作实例变量也可以操作类变量,当对象调用实例方法时,方法中的成员变量就是指分配给该对象的成员变量,其中的实例变量和其它对象的不相同,即占有不同的内存空间;而类变量和其它对象的相同,即占有相的内存空间。类方法只能操作类变量,当对象调用类方法时,方法中的成员变量一定都是类变量,也就是说该对象和所有的对象共享类变量。 6.在编写Java源文件时,可以使用import语句引入有包名的类;也可以使用静态导入引入有包名类的类变量。 7.对象访问自己的变量以及调用方法受访问权限的限制。 2010-1-10 50