1、概述
static 关键字是声明静态变量,静态方法用的。static的含义是属于类且不属于类对象的变量和函数。
2、static的产生。
在创建对象的时候除非用new创建那个类的对象,否则实际上并没有取得任何对象只有当履行new来创建对象时数据存储空间才被分配,其方法才供外界调用。但是有两种情况上述方法时没法解决的
第1种只想为某特定域分配单1存储空间而不去斟酌究竟要创建多少对象,乃至不需要创建任何对象。
第2种希望某个方法(变量)不予包括它的类的人很对象关联在1起。也就是没有创建对象,也能调用这个方法。
为了解决上面的两个问题static关键字就诞生了。
当1个事物是static的时候就意味着这个域或方法不会与包括它的那个类的任何对象实例关联在1起。即便从未创建某个类的任何对象,也能够调用其Static方法或其static域。3、例子。
TestStatic.java
public class TestStatic { public static int i=33; }
StaticMain.java
public class StaticMain { /** * @param args */ public static void main(String[] args) { System.out.println("TestStatic.i="+TestStatic.i); TestStatic s1=new TestStatic(); TestStatic s2=new TestStatic(); System.out.println("s1.i="+s1.i); System.out.println("s2.i="+s2.i); s2.i=133; System.out.println("s1.i="+s1.i); System.out.println("s2.i="+s2.i); } }
效果图:
4、总结。
在例子我们发现第1个打印出来i的值就是实现了希望某个变量不予包括它的类的人很对象关联在1起。也就是没有创建对象,也能调用这个方法。下面的则是实现了只想为某特定域分配单1存储空间而不去斟酌究竟要创建多少对象,乃至不需要创建任何对象。static关键字就是为我们解决了这两个问题。
static关键字还是需要慎重使用以避免给程序带来没必要要的麻烦。