成员函数的说明和使用

成员函数的说明和使用,第1张

成员函数的说明和使用,第2张

1:类成员函数的描述

成员相当于C或C++中的函数。你应该用下面的方式解释一个成员函数:
typename(parameter)
/function body
注意:每个成员函数都必须返回值或者声明为空(void)。其返回类型的描述告诉编译器它将返回什么类型的值。在某些情况下,成员函数需要指出它是否成功地完成了它的工作,返回类型通常是Boolean。参数表是一组用逗号分隔的变量,它将为成员函数提供所需的信息。
下面的示例中定义了一个成员函数。通过它,你的矩形类可以计算自己的面积:

int getArea(int w,int h)
{
int a;
a = w * h;
返回一个;
}

另外,矩形还需要描述自身,所以需要成员函数drawRect()。此时,矩形类的定义如下:

public class drw rect
{
public static void main(String args[])
{
类Rectangle
{
int width,height,area
公共矩形(int w,int h)
{
width = w;
height = h;
area=getArea(w,h);
}

protected int getArea(int w,int h)
{
int a;
a = w * h;
返回一个;
}

public void drawRect()
{
int I,j;
for(I =宽度;I > 0;I-)
system . out . print(" # ");
system . out . print(" ");

for(I =身高-2;I > 0;I-)
system . out . print(" # ");

for(j =宽度-2;I > 0;j-)
system . out . print(" ");

system . out . print(" # ");

for(I =宽度;I > 0;I-)
system . out . print(" # ");

system . out . print(" ");
}
}//矩形

int w=Integer.valueOf(args[0])。int value();
int h = integer . value of(args[1])。int value();
Rectangle my rect =新矩形(w,h);
my rect . drawrect();
}
}


在上面的例子中,最后一个“#”后面有一个System.out.print(" ")。这是因为当前一行没有结束并且缓冲区没有溢出时,这个成员函数不会将输出写到屏幕上。如果使用了print成员函数,但没有得到输出,请仔细检查是否用""结束了输出流。

2:不同类型的成员函数
在上面例子中的成员函数声明中,需要注意两点:getArea()定义为private,drawRect()定义为public。类型public意味着任何类都可以调用它。Private,只能在声明的类内部调用。这些描述类型也适用于数据变量。
如果有人想更改私有变量,他们通常会引用下面的成员函数:

public void set width(int w)
{
width = w;
}

注意:在Java中,protected只是作为一个关键字出现,没有对应的函数。


3:成员函数重载
如果在不同的情况下,你必须向同一个成员函数发送不同的信息,你该怎么办?你可以通过指定这个成员函数的多个版本来实现重载。重载的本质是创建一个新的成员函数:你只需要给它一个不同的parameterlist,如下例所示:

void get Area(int w,int h);
void get区域(float w,float h);

第二种情况,成员函数get Area()接受两个浮点变量作为其参数,编译器根据调用时参数的不同决定调用哪个成员函数。如果给成员函数提供两个整数,调用第一个成员函数;如果向成员函数提供两个浮点数,将调用第二个成员函数。

4:静态成员
除了public、private和protected,还可以将成员描述为static(静态)。静态修饰符表示变量或成员函数对于一个类的所有实例都是相同的。您可能希望使用一个所有Rectangle类都可以使用的变量来描述类的版本。如果您将其描述为静态的,则该变量对于该类的所有实例都是相同的,例如:

静态int版本= 1;

静态成员函数和静态变量的优点是它们可以被引用,而不需要创建类的任何实例。引用时,类名可以直接用在“.”之前不使用对象名的域。比如drawRect成员函数使用了System.out.println成员函数,但实际上你从来没有创建过某个系统类的对象。正因为out是System类的静态变量,所以可以直接使用这个成员函数,而不需要定义系统对象。

5:构造和分析构造函数
类有一个特殊的成员函数叫做构造函数,通常用来初始化类的数据成员。创建对象时,会自动调用该类的构造函数。Java中的构造函数必须与这个类同名。此外,构造函数通常由公共类型来解释,因此可以在程序中的任何位置创建该类的实例对象。
下面是一个Rectangle类的构造函数,它带两个参数,分别代表矩形的长度和宽度:
public rectangle (int w,int h)
{
width = w;
height = h;
area=getArea(w,h);
}

除了构造成员函数之外,该类还提供了一个分析成员函数,当从内存中删除一个对象时,将自动调用该函数。通常,在构造函数中,可以填入用于回收对象内部动态空的代码。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 成员函数的说明和使用

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情