网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.攻克学习多线程时碰到的难题.
.Generic Data Access Objects 设.
.关于java.util.regex 包中新增字.
.谈谈J2SE中的序列化(一).
.gwt和echo2的对比.
.Tomcat和MySQL的一个Server.xml.
.Struts‘sTiles使用入门完全攻略.
.用Java从XML文件中获取业务图表.
.String类使用的例子(2).
.Web Services被列为今年IDC重点观.
.使用Lists.
.isPrototypeOf 方法.
.Java NIO原理和使用.
.JML起步--使用JML 改进你的Java程.
.Eclipse快速上手指南之使用JUnit.
.Java实战篇:设计自己的Annotati.
.Java安全通信、数字证书及应用实.
.通过socket传递java对象(对象序列.
.JAVA使用XML作为持久存储介质实现.
.Hibernate入门.

成员函数的说明和使用

发表日期:2008-1-5



  1:类的成员函数的说明

  成员函数相当于C或C++中的函数。你应该用如下的方式说明一个成员函数:
Type name (Parameter)
//function body
注重:每一个成员函数必须返回一个值或声明返回为空(void)。它返回类型的说明告诉编译器它将返回什么类型的值。在某些情况下,成员函数需要表示它是否成功的完成了它的工作,此时返回类型通常为布尔型的。参数表是用逗号分开的一组变量,它将为成员函数提供所需信息。
  下面例子中定义了一个成员函数。通过它,你的矩形类可以计算自己的面积了:

int getArea(int w,int h)
{
int a;
a=w*h;
return a;
}
  
  另外,矩形还需要对自己进行描绘,因此它需要成员函数drawRect(),此时,你的矩形类的定义将如下所示:

public class DrwRect
{
public static void main(String args[])
{
class Rectangle
{
int width,height,area;
public Rectangle(int w,int h)
{
width=w;
height=h;
area=getArea(w,h);
}

protected int getArea(int w,int h)
{
int a;
a=w*h;
return a;
}

public void drawRect()
{
int i,j;
for(i=width;i>0;i--)
System.out.print("#");
System.out.print("") ;

for(i=height-2;i>0;i--)
System.out.print("#");

for(j=width-2;i>0;j--)
System.out.print("");

System.out.print("#");

for(i=width;i>0;i--)
System.out.print("#");

System.out.print("");
}
} //Rectangle

int w=Integer.valueOf(args[0]).intValue();
int h=Integer.valueOf(args[1]).intValue();
Rectangle myrect=new Rectangle(w,h);
myrect.drawRect();
}
}

  上例中最后一个“#”号后面还有一个System.out.print("")这是由于这个成员函数在上一行没有结束而且缓冲区没有溢出时将不把输出结果写屏。若你使用print成员函数,却没有得到输出,这时仔细确认一下你是否以""来结束你的输出流。

2:不同类型的成员函数
  在上例的成员函数声明中你需要注重两点:getArea()定义为private型,drawRect()定义为public型。public型意味着任何类都可以调用它。private型,它只能被所声明的类内部调用。这些说明类型同样适用于数据变量。
  若有人想改变一个私有变量,通常要引用下面的成员函数:

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

  注重:在Java中,protected只是作为要害字出现,而没有相应的功能。

3:成员函数的重载
  假如你必须在不同情况下发送不同的信息给同一个成员函数的话,该怎么办呢?你可以通过对此成员函数说明多个版本(version)的方法来实现重载。重载的本质是创建了一个新的成员函数:你只需给它一个不同的参数列表(parameterlist),如下例所示:

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

  在第二种情况下,成员函数get Area()接受两个浮点变量作为它的参数,编译器根据调用时的不同参数来决定该调用哪一种成员函数,假如你把两个整数提供给成员函数,你就调用第一个成员函数;假如你把两个浮点数提供给成员函数,第二个成员函数就被调用。

4:静态成员
  除了public、private和protected以外,你还可以把成员说明为static(静态)。static修饰符表明一个变量或成员函数对所有类的实例都是相同的,你也许想使用一个所有Rectangle类都可以使用的变量,来说明该类的版本(version),假如你把它说明成一个static,那么该变量将对该类的所有实例都是一样的,如:

static int version=1;

  静态成员函数和静态变量的优点就在于他们能在没有创建类的任何一个实例的情况下被引用,引用时在“.”域前,可直接使用类名而无须使用对象名。例如,drawRect成员函数使用了System.out.println成员函数,但实际上你却未曾创建一个某个System类的对象,这正是因为out是System类的一个静态变量,所以你可以直接使用这个成员函数而无须定义一个System对象。

5:构造和析构成员函数
  类有一个非凡的成员函数叫做构造成员函数,它通常用于初始化类的数据成员。在创建对象时,会自动调用类的构造成员函数。Java中的构造成员函数必须与该类具有相同的名字,另外,构造成员函数一般都应用public类型来说明,这样才能在程序任意的位置创建类的实例--对象。
  下面是一个Rectangle类的构造成员函数,它带有两个参数,分别表示矩形的长和宽:
public Rectangle(int w,int h)
{
width=w;
height=h;
area=getArea(w,h);
}

  除了构造成员函数以外,类还提供了析构成员函数,当对象被从内存中删除时,该成员函数将会被自动调用。通常,在析构成员函数内,你可以填写用往返收对象内部的动态空间的代码。
上一篇:JAVA规则基本篇 人气:509
下一篇:成为GUI的最好的朋友并揭开Liar View的面纱 人气:519
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐