Java中的static关键字(1 / 1)
前两周听了Ja(这个不要给我和谐了)va老师讲的static用法,感觉不太明白,通过这一段时间的编程训练,基本明白了,现在总结一下static的用法。
static是一个修饰词,要么修饰成员变量,要么修饰方法。当它修饰成员变量时,该变量就被称作静态变量,修饰方法时,该方法就被称作静态方法。如我们常用的输出语句:http://www.wuliaozw.com/;中的out就是System这个类中的静态变量,不过out很特殊,它并非普通的变量,而是另一个类PrintStream的对象,可以调用println这个方法。而J**a中的主函数,则是一个经典的静态方法。
先说静态变量吧。
静态变量在类加载时就被创建了,不像成员变量随着对象的回收而销毁。它既能被对象调用,也能被类名调用(一般用类名直接调用的比较多),被称作类变量。并且,静态变量相当于全局变量,在程序的整个作用域内都可以访问它。
接着说静态方法。
静态方法也叫类方法,也是从类加载的时候就被创建了。同样,对象能调用,类名也能调用。
当然,有一种静态代码块。
Static{ }就是一个静态代码块,它是可以独立运行的,因为它也是在类加载的时候就存在了,不过只运行一次。
那么我们该如何使用static呢?
1. 静态方法里只能调用静态变量,而实例化方法都可以。但静态方法可以由对象或类调用,普通方法必须由实例化对象调用。
2. 对于静态变量,它的值可以被重新赋值,但每一次更新之后都只保留最后一次更新的值。并且所有调用了这个静态变量的地方,都会变成最后一次更新的值。因为静态变量不是像普通的变量那样存储在对象中,它一经更新就全局共享。
如果有新体会,我会再补充。