您的当前位置:首页正文

JAVA基础STATIC关键字

来源:筏尚旅游网
通常来说,当创建类时,就是在描述那个类的对象的外观和行为。除非用new创建那个类的对象,否则,实际上并未获得任何对象。执行new来创建对象时,数据存储空间才会分配,其方法才供外界调用。
有两种情形用上述方法是无法解决的。一种情形是,只想某特定域分配单一存储空间,而不去考虑究竟要创建对少对象,甚至根本就不创建任何对象。另一种情形是,希望某个方法不与包含它的类的任何对象关联在一起。也就是说,即使没有创建对象,也能够调用这个方法。
通过static关键字可以满足这两方面的需要。当声明一个事务时static时,就意味着这个域或方法不会与包含它的那个类的任何对象实例关联在一起。所以,即使从未创建某个类的任何对象,也可以调用其static方法或访问其static域。通常,你必须创建一个对象,并用它来访问数据或方法。因为非static域或方法必须知道他们一起运作的特定对象。
有些面向对象语言采用类数据和类方法两个术语,代表那些数据和方法只是作为整个类,而不是类的某个特定对象而存在的。有时,一些java文献里也用到这两个术语。
只需将static关键字放在定义之前,就可以将字段或方法设定为static。例如,下面的代码就生成了一个static字段,并对其进行了初始化。
class StaticClass{
	static int i = 0;
}
也可以在类中定义static方法和static常量,可以用类名点的方式调用。
class StaticClass{
	static void method(){
		int i = 0;
	}
}

StaticClass.method();
static方法可以创建或使用与其类型想同的被命名对象,因此,static方法常常拿来做“牧羊人”的角色,负责看护与其隶属同一类型的实例群。

因篇幅问题不能全部显示,请点此查看更多更全内容