模块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文档,熟悉程序包的组成,了解常见包的属性及方法。

posted @ 2024-07-25 17:25  我太想努力了  阅读(292)  评论(0)    收藏  举报