5.3.3 类和对象

5.3.3 类和对象

1.类和对象

在Java中定义类主要包括类的声明和类体。类声明定义了类的名称、对该类的访问权限和该类与其他类的关系等。类体是位于类声明后面大括号中的内容,包括成员变量和成员方法的定义。语法格式如下:

其中的参数解释如下。

·访问权限:指定类的访问权限。可选参数,其值为public、abstract或final。

·类名:指定类的名称,必选参数,必须是合法的标识符。

·extends父类名:指定要定义的类继承自哪个父类。可选参数。当使用extends关键字时,父类名为必选参数。

·implements接口列表:指定该类实现的是哪些接口。可选参数。当使用implements关键字时,接口列表为必选参数。

Java中类的行为由类的成员方法来实现。类的成员方法包括方法的声明和方法体两部分,其语法格式如下:

其中的参数解释如下。

·访问权限:用于指定方法的访问权限。可选参数,其值为public、protected和private。

·方法返回值的类型:用于指定方法的返回值类型,必选参数。

·方法名:用于指定成员方法的名称,必选参数,必须是合法的标识符。

·参数列表:用于指定方法中所需的参数。可选参数,当存在多个参数时,各参数之间应使用逗号分隔。

·方法体:为方法的实现部分,其中可以定义局部变量。可选参数。

下面的代码定义Car类,并在其中声明两个成员方法start()和running()。

【例5-2】Car类中声明成员方法。

在Java中使用关键字new来实例化对象,具体语法格式如下:

对象名=new构造方法名([参数列表]);

其中的参数解释如下。

·对象名:用于指定已经声明的对象名。

·构造方法名:用于指定构造方法名,与类名一致。

·参数列表:用于指定构造方法的入口参数,可选参数。

其中构造方法也称构造函数,它是为避免每次创建对象都初始化所有变量的麻烦,Java提供的一种特殊的成员函数。它用于对象被创建时初始化对象,具有和所在类一样的名字,没有返回类型。一旦用new运算符创建对象时会自动调用构造函数获得一个可用的对象。

创建对象后,就可以通过对象来引用其成员变量,改变成员变量的值,还可以通过对象来调用其成员方法。通过使用运算符“.”实现对成员变量的访问和成员方法的调用。

下面的代码给出了Circle类及其对象ccl的定义和使用方法。

【例5-3】Circle类及其对象ccl的定义和使用方法。

2.包和常用类

为避免同名的类发生冲突,Java提供了包(package)来管理类名空间。JDK提供的包包括java.applet、java.awt、java.io、java.lang、java.net、java.util等。每个包由一组相互联系的类和接口组成。用户也可以定义自己的包实现应用程序。在使用包中的类和接口时,用package语句指定类所在的包,用import语句引入包中的类。

(1)package语句

该语句为Java文件的第1条语句,指明文件中使用的类所在的包。语法格式为:

package packageName1[.packageName2…]

其中“.”用于指示目录层次。包的结构层次需与文件目录层次相同。例如,

package java.uti l.*;//指定包中的文件位于java/uti l目录中

(2)import语句

该语句可以引入需要的类,语法格式为:

impor t packageName1[.packageName2…].c lassName;

其中:packageName1[.packageName2…]表示包的层次,class Name表示类名。如果引入多个类,可以用“*”号代替类名,如import java.util.*。

编译器默认引入java.lang包,若使用其他包的类,需用import引入。

在JSP页面中有些常用的类,有的可以直接调用,有的需要导入后使用。表5-2列出了其中一些常用的类及所属的包。

表5-2 常用的类及所属的包