模块2 面向对象编程初级 --- 第七章:使用程序包
第七章 使用程序包
主要知识点
1、包的概念、包的建立、包的引用;
2、Java类库
3、常用包介绍
4、字符串的处理
学习目标
掌握包的特点及应用方法,能够运用包编写程序。
一个项目由多个类构成,Java程序是类与接口的集合。
7.1 Java系统包
面向对象编程的最大优点是代码复用,Java提供大量的类库,这些类库能够充分帮助程序员完成字符串、输入/输出、声音、图形图像、数值运算、网络应用等方面的处理。
7.1.1 Java类库结构
Java类库包含在Java开发工具JDK中,用户可以从包开始访问包中的接口、类、变量和方法。
1、java.lang包
java.lang包是Java核心包,其中的类Object是Java中所有类的基础类,不需要用import语句引入,每个程序运行时,系统都会自动引入java.lang包。
2、java.io包
包含了用于数据输入/输出的类,主要用于支持与设备相关的数据输入/输出,应该在程序的开始引入java.io包。
3、java.applet包
提供了创建浏览器的applet小程序所需要的类和接口,包括以下几个类和接口:
(1)AppletContext:可以使用此接口中的方法获取有关其环境的信息。
(2)AudioClip:用于播放音频剪辑的简单抽象类,多个AudioClip项能够同时播放,得到的声音混合在一起可产生合成声音。
(3)Applet:不能单独运行但是可嵌入在其他应用程序中的小程序。开发applet小程序时,必须首先引入java.applet包,并把应用程序的主类声明为Applet的子类。
4、java.awt包
awt是抽象窗口工具类,提供了图形用户界面设计、窗口操作、布局管理和用户交互控制、事件响应的类。
5、java.net包
java.net包是Java网络包,提供了网络应用的支持,包括三种类型的类:用于访问Internet资源以及调用CGI通用网关接口的类;
6、java.math包
java.math包是Java数学包,包括数学运算类和小数运算类,提供完善的数学运算方法。
7、java.util包
是Java实用程序包,提供了许多实用工具,例如:日期时间类(Date)、堆栈类(Stack)、哈希表类(Hash)、向量类(Vector)、随机数类和系统属性类。
8、java.SQL包
SQL包是Java数据库包,提供了Java语言访问处理数据库的接口和类,它是实现JDBC数据库连接的核心类库。
9、java.swing包
swing包提供一组轻量级组件,大部分Swing程序用到了awt的基础底层结构和事件模型,因此需要导入两个包:
import java.awt.*; import java.awt.event.*;
如果图形界面中包括了事件处理,那么还需要导入事件处理包:
import javax.swing.event.*;
7.1.2 包的引用
若在程序中使用包中定义的类,应使用import语句引入包,事实上,包名也是类的一部分,包引入import语句的格式如下:
import 包名1[.包名2[.包名3......]].(类名|*)
包名前面可以指明层次关系,既可以精确到某一个类,也可以用通配符 * 表示当前包中所有的类。
说明:
(1)一个程序可以导入多个包,但是一条import语句只能导入一个包,每个包都要用一条import语句导入。
(2)JVM 通常将包以一种压缩文件的形式(.jar)存储到特定的目录中。
(3)使用import语句引入某个包中的所有类并不会自动引入其子包中的类,应该使用两个import语句分别引入。
7.2 建立自己的包
7.2.1 包的声明
一个包由一组类和接口组成。简单来说,包就是Windows中的目录(文件夹)。
说明:
(1)包的声明语句必须放在程序源文件的开始处。
(2)Java语言规定,任何一个源文件最多只有一个包声明语句。
(3)包的名字有层次关系,各层之间以点分割。
(4)包名通常全部用小写字母。
7.2.2 包的应用
(1)同一个包中的类型相互访问,不需要指明包名,如果从外部访问一个包中的类,需要使用类的完整名称。
(2)包的存放位置必须与包名层次相对应的目录结构一致。
7.3 字符串的处理
字符串经常用于在程序设计过程中提取子字符串,判断用户输入的信息是否正确等操作,注意:Java中没有字符串类型的基本数据类型。但是在java.lang语言核心包中定义了String和StringBuffer两个类来封装对字符串的各种操作,而且都是final类,不能被其他类继承。此外String类虽然是一种类,但是不需要实例化就可以使用,其应用过程和基本数据类型非常相似。
7.3.1 字符串的生成
通过类String提供的构造方法,可以来生成一个空串,String类的默认构造方法,也不需要任何参数,例如:String s = new String();也可以是字符数组生成一个字符串对象。
7.3.2 字符串的访问
一旦通过StringBuffer生成最终的字符串,就可以用StringBuffer.toString()方法将其变为String类。
在java中,提供了连接运算符 “+”,可以将其他各个类型的数据转换为字符串,并连接形成新的字符串,“+” 运算 是通过StringBuffer类和它的append方法实现的。
7.3.3 String类的常用方法
String类提供了以下常见方法:
(1)length():返回字符串的长度(字符个数)
(2)charAt(int n):返回第n个字符,例如: String s = “abcv”; char c = s.charAt(3); 输出 c = 'v';
(3)toLowerCase():将字符串中的字母全部变为小写字母;
(4)toUpperCase():将字符串中的字母全部变为大写字母;
(5)subString(int beginIndex):从指定位置beginIndex开始一直到最后一个字符结束,形成新的字符串。
subString(int beginIndex,int endIndex):从指定位置beginIndex开始到第endIndex个字符结束,形成新的字符串。
(6)replace(char oldChar,char newChar):将给定字符串中出现的所有特定字符oldChar替换成指定字符newChar,形成新的字符串。
(7)concat(String otherStr):将当前字符串和给定字符串otherStr字符串连接起来,形成新的字符串。
StringBuffer提供了四个方法,要来改变字符串的内容:
(1)deleteCharAt(int index):用于删除指定位置index上的字符。
(2)insert(int offset,String subStr):用于给定字符串的offset位置上插入字符串subStr。
(3)append(String strObj):用于给定的字符串末尾添加一个字符串strObj;
(4)delete(int beginIndex,int endIndex):用于删除从beginIndex开始到endIndex结束之间的字符串。
7.4 JDK帮助系统
7.4.1 JDK帮助文档介绍
JDK帮助文档提供了三种使用方法:
(1)在线查询:网址是:http://docs.oracle.com/javase/7/docs/api/;
(2)下载网页格式的帮助文档。其中启动文件是index.html;
(3)下载chm格式的帮助文档。
7.4.2 JDK帮助文档应用举例
暂时没必要;
习题
一、简单题
1、什么是包?包中包括一些什么内容?
2、如果有一个包page1,它的子包是page2,如果需要将这两个包都引入程序,至少需要使用几条import语句?
3、接口与类有哪些不同?与抽象方法存在什么样的关系?
4、Java提供了哪些系统类库?各起什么作用?
5、Java的基类是什么?它提供了哪些主要方法?
6、字符串类有哪两种?各有什么特点?
7、JDK帮助系统有哪几种?分别说明它们的使用特点。
8、设置 cha = "JavaApplicaiton",下面的程序运行后结果是什么?
cha.length();cha.concat("Applet");cha.substring(3.8);
cha.replace('a','A');
二、操作题
1、定义一个日期类,包括年、月、日三个属性和一个方法,用于判断是不是闰年。然后实例化两个对象,今天和明天。并分别给它们赋值。
2、设定一个含有大小写字母的字符串。先将所有的大写字母输出,再将所有的小写字母输出。
3、设定6个字符串,打印出以字母 ‘a’ 开头的字符串。
4、从网上下载JDK文档,熟悉程序包的组成,了解常见包的属性及方法。

浙公网安备 33010602011771号