类和方法(class&method)
类(class):是实例对象的模板,类的定义格式是:
[类修饰词列表] class 类名 [extends 父类名] [implements 接口名称列表]
{
类体
}
第一行内容成为“类定义的头部 ”或 “类的声明”
类的声明:
1、“[ ]”:表示被括起来的内容是可选的 ;
2、修饰词列表:如果存在多个类修饰词,则在相邻两个类修饰词之间采用空格分隔开。类修饰词用来说明类的属性,包括public、abstract、final、和strictfp等。
public:定义类可以被java的所有软件包使用,否则定义类只能在当前软件包中使用。
abstract:定义类是一个抽象类。
final:定义类不能用作父类。
strictfp:定义类中各个复电数的表示及运算严格遵循IEEE754算术国际标准。
3、类名:类名可以是任意的合法标识符,若类的修饰词是public,则该类应当与所在文件名相同。在同一个Java源文件中可以包含多个类,但不能包含两个及以上具有public修饰词的类。
4、extends 父类名:指定所定义类的父类,所定义类将具有其父类所定义的一些属性和功能。在定义类时如果不含有选项“extends 父类名”,则上面定义的类的父类是“java.lang.Object”,即不含选项“extends 父类名”与包含选项“extends java.lang.Object”具有相同的功能。类java.lang.Object是除了其自身外的所有类的直接或间接父类。
5、implements 接口名称列表:具有该属性,表明定义类是实现了这些给定接口的类,即定义类将具有这些给定接口的属性和功能。当包含多个接口时,接口之间采用逗号分隔。
类体
在类体部分可以定义类的构造方法和类的两类成员要素:成员域(field)和成员方法(method)
类的成员域简称为域,通常用来表示和存储类所需要的数据,其格式为:
[域修饰词列表] 类型 变量名或带初始化的变量名列表;
1、域修饰词列表:可选项,可以0个或多个,若存在多个,相邻两个域修饰词之间采用空格分隔开。域修饰词通常包括public、protected、private、static、final、transient和volatile。修饰词public、protected和private不能同时存在,它们表示当前定义成员域的访问控制属性,即当前定义的成员域的应用范围。
static:表明当前定义的成员域是静态的。
final:要求立即对当前的成员域赋值(必须进行初始化变量),且赋值之后不能再修改该域的值。
transient:表明当前成员域是一种暂时的成员域,即当进行对象保存时可以不必保存当前的成员域。
volatile:主要用在多线程程序设计中,表明在访问当前成员域时将采用同步机制。
2、类型:指定当前成员域的类型。如,int,“类型”也可以是引用数据类型,如,类名。
3、变量名或带初始化的变量名列表:可以包含1个或多个变量名,每个变量名是一个合法的标识符,若含有多个变量名,则相邻变量名或带初始化的变量名之间采用逗号分隔开。包含多个变量名时,实际定义了多个成员域,即每个变量名对应一个成员域。带初始化的变量名实际是包含赋值运算,如:int m_radius=0;
类的成员方法简称为方法,通常用来实现类的各种功能,其格式为:
[方法修饰词列表] 返回类型 方法名(方法的参数列表)
{
方法体
}
方法声明
第一行的内容为成员方法定义的头部或者当前定义的成员方法声明。
1、方法修饰词列表:可选项。通常包括public、protected、private、abstract、static、final、synchronized和strictfp。方法修饰词public、protected和private不能同时存在,它们表示当前定义的成员方法的访问控制属性,即当前成员方法的封装性。
abstract:表明当前成员方法是抽象成员方法。抽象成员方法不能包含有方法体。
static:表明当前定义的成员方法是静态的。
final:当前成员方法所在类的子类中不能出现与当前成员方法相同的声明。
synchronized:表明当前成员方法是一种同步成员方法。
strictfp:表明在当前成员方法中各个浮点数的表示及其运算严格遵循IEEE算术国际标准。
2、返回类型:指定当前成员方法返回的数据的数据类型。可以是基本数据类型,如:int;也可以是引用数据类型,如:类型。若成员方法不返回任何数据,则应当在返回类型处写上关键字 void,否则编译将出错。
3、方法名:一个合法的标识符,用来表示当前的成员方法。
4、参数列表:可包含0个或多个,在参数列表处除了空格之外,不含任何字符时,表明该参数列表不含任何参数。需注意,不能再参数列表处写上关键字void,否则编译将出错。在参数列表中包含多个参数时,参数之间采用逗号分隔开。格式是 类型 参数变量名
方法体
通常由一些语句组成,主要用来实现当前成员方法的功能。