么? 如果出现错误思考另一种方式修改(提示:将PackageTest类放到cn.edu.lytu.yxl包中)。
总结:
1) 类打包使用package语句,package语句是源文件执行语句的第一句。 2) 如果我们不对类进行打包,则该类自动放到缺省包里面。 3) 包内的类可以互相访问,包外的类只可以访问包的公有类。 4) 包外的类如果要访问包的公有类,则需要引入包。 5) 系统自动引入java.lang包。
(四)了解并使用Java 的系统包
1. API 包、接口、异常处理的作用
包是类和接口的集合。利用包可以把常用的类或功能相似的类放在一个包中。Java 语言提供系统包,其中包含了大量的类,可以在编写Java 程序时直接引用它们。为便于管理和使用它们,将这些类分为了不同的包。包又称类库或API 包,所谓API(Application Program Interface)即应用程序接口。API 包—方面提供丰富的类与方法供大家使用,如画图形、播放声音等,另一方面又负责和系统软硬件打交道,圆满实现用户程序的功能。所有Java API 包都以“java.”开头,以区别用户创建的包。
2.了解Java提供的包和类
在地址http://java.sun.com/j2se/1.5/docs/api/index.html 上,可以看到Java 系统提供的Java API 文档,类文档的内容主要是:类层次、类及用途描述、成员变量列表、构造方法列表、成员方法列表、从类层次上继承的方法列表、成员变量的详细说明、构造方法详细说明、成员方法详细说明。在这里可以看到Java 提供的Java API 文档的最新内容。如图6-1 所示。
图6-1 javaAPI文档
在右上方选择Class 标题,并在左下角框中移动滑块,选择Object 类,可以看到Object 类的所有方法和构造方法。如图6-2 所示。
图6-2 Object类介绍
3.自己学习使用Java API,了解java.lang包中的类:System。
(五)了解异常技术
任何程序员都无法保证自己的程序能一次性通过编译和运行,而且在运行时不出现错误。因此异常的处理是不可避免的,如何处理这些异常则是关键所在。Java语言提供了强大的错误处理功能。Java中的异常是事件驱动,这使得Java能实时监测异常的产生,为了实现异常,在Java中专门编写了一个类java.lang.Trowable。
1. 了解异常
建立文件TestException.java,该程序为我们演示异常的产生,源代码如下所示:
public class TestException { }
class Mathtest {
public int devide(int x , int y )//x与y整除 { }
int result = x/y; return result;
public static void main(String[] args) { }
Mathtest mt = new Mathtest(); int result = mt.devide(4,0);
System.out.println(\
}
保存、编译并运行该程序,查看输出结果,思考下列问题: 1) 该程序能否正常运行?运行结果是什么? 2) 为什么出现这个运行结果?
小结:该程序在运行过程中发生了除零的算术错误后立即停止执行,提前结束。这就是所谓的异常。
2. 异常的处理
修改上面程序的代码,代码如下所示:观察代码变化: public class TestException {
public static void main(String[] args) {
Mathtest mt = new Mathtest();
try{//新加入的代码
int result = mt.devide(4,0);
System.out.println(\
}
}
}
catch(Exception e){
System.out.println(e.getMessage());
System.out.println(\}
System.out.println(\
class Mathtest { }
重新编译运行程序,查看程序结果,思考下列问题:
1) 程序运行结果与上次是否相同?
2) 运行显示的信息是源代码的哪一部分?程序执行到哪里去了? public int devide(int x , int y) { }
int result = x/y; return result;
解释:我们看到程序在出现异常后,系统能够正常地继续运行,而没有异常终止。对可能会出现错误的
代码用我们try-catch进行了处理,当try代码块中的话句发生异常,程序就会跳转到catch代码块去执行,执行完catch代码块中的程序代码后,系统会继续执行catch代码块后的其他代码,但不会执行try代码块中发生异常语句后的代码,如程序代码“System.out.println(\” 不会再被执行。可见Java的异常处理是结构化的,不会出因为出现异常而影响整个程序的执行。
小结:处理程序运行时的错误和设计程序同样重要,只有能够完善处理运行时出错的程序,软件系统才能长期稳定地运行,异常处理就是说明如何处理程序运行时出错的问题。
实验总结
1.总结接口和抽象类的区别?