静态函数

王朝百科·作者佚名  2010-04-24
窄屏简体版  字體: |||超大  

函数调用的结果不会访问或者修改任何对象(非static)数据成员,这样的成员声明为静态成员函数比较好。且如果static int func(....)不是出现在类中,则它不是一个静态成员函数,只是一个普通的全局函数,只不过由于 static 的限制,它只能在文件所在的编译单位内使用,不能在其它编译单位内使用。

静态成员函数的声明除了在类体的函数声明前加上关键字static,以及不能声明为const或者volatile之外,与非静态成员函数相同。出现在类体之外的函数定义不能制定关键字static。

静态成员函数没有this指针。

=================================================================

Static关键字

在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,对于该类的所有对象来说,static成员变量只有一份。

用static声明的方法是静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员

##静态方法不再是针对于某个对象调用,所以不能访问非静态成员

可以通过对象引用或类名(不需要实例化)访问静态成员

java:::

public class Cat

{

private static int sid = 0;

private String name;

int id;

Cat(String name)

{

this.name = name;

id = sid++;

}

public void info()

{

System.out.println

("My name is "+name+" No."+id);

}

public static void main(String arg[])

{

Cat.sid = 100;

Cat mimi = new Cat("mimi");

mimi.sid = 2000;

Cat pipi = new Cat("pipi");

mimi.info();

pipi.info();

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航