静态变量的类型说明符是static。静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量,例如外部变量虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。
对于自动变量,它属于动态存储方式。但是也可以用static定义它为静态自动变量,或称静态局部变量,从而成为静态存储方式。由此看来,一个变量可由static进行再说明,并改变其原有的存储方式。
Java类中的静态变量在程序运行期间,其内存空间对所有该类的对象实例而言是共享的,有些时候可以认为是全局变量。因此在某些时候为了节省系统内存开销、共享资源,可以将类中的一些变量声明为静态变量,通过下面的例子,你可以发现合理应用静态变量带来的好处:
Java代码
- public class WeekA{
- static class Data {
- private int week;
- private String name;
- Data(int i, String s) {
- week= i;
- name = s;
- }
- }
- Data weeks[] = {
- new Data(1, "Monday"), new Data(2, "Tuesay"), new Data(3, "Wednesday"), new Data(4, "Thursday"), new Data(5, "Friday"), new Data(6, "Saturday"), new Data(7, "Sunday")
- };
- public static void main(String args[]) {
- final int N = 10000;
- WeekA weekinstance;
- for (int i = 1; i <= N; i++){
- weekinstance = new WeekA ();
- }
- }
- }
- public class WeekA{
- static class Data {
- private int week;
- private String name;
- Data(int i, String s) {
- week= i;
- name = s;
- }
- }
- Data weeks[] = {
- new Data(1, "Monday"), new Data(2, "Tuesay"), new Data(3, "Wednesday"), new Data(4, "Thursday"), new Data(5, "Friday"), new Data(6, "Saturday"), new Data(7, "Sunday")
- };
- public static void main(String args[]) {
- final int N = 10000;
- WeekA weekinstance;
- for (int i = 1; i <= N; i++){
- weekinstance = new WeekA ();
- }
- }
- }
希望本文能给你带来帮助。
【编辑推荐】