java关键字static

Posted 小南蛮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java关键字static相关的知识,希望对你有一定的参考价值。


  static修饰符可以修饰变量、常量、方法和代码块,分别称为静态变量、静态常量、静态方法和静态代码块。


 

1.static变量

  在java中,如果希望某个变量的值能被所有的对象共享,可以将该变量声明为静态变量(也叫类变量)。静态变量在类装载时,只分配一块储存空间,所有此类的对象都可以操控此块储存空间,它为所有类实例提供共享的变量。当一个对象将该变量修改后,其他对象再使用该变量将会是改变后的数据。声明静态变量的语法如下:

    [权限控制符] static 成员变量类型 成员变量名;

  访问静态变量的语法如下:

    类名.静态成员变量名(不同类中)

    静态成员变量名(同一类中,也可以用上述方法访问)


 

2.static常量

  在java中,使用final修饰的变量为常量,如果将final和static连用修饰一个常量,该常量就是静态常量。静态常量一般为所有对象所共有,所以,把常量声明为static的情形也很多。

  声明静态常量的具体语法格式如下:

    [权限控制符] static final 常量类型 常量名 = 常量值;

  访问静态常量的具体语法格式如下:

    类名.静态常量名(不同类中)

  静态常量名(同一类中,也可以用上述方法访问)


3.static方法

  在java中,被static修饰的方法称为静态方法或类方法。静态方法不能直接访问所属类的非静态成员变量和成员方法,只能访问所属类的静态成员变量和成员方法。语法如下:

[权限控制符] static 返回类型 成员方法名([参数列表]){
	方法体;
}

  访问静态方法的语法如下:

    类名.静态方法名([实参列表])(不同类中)

    静态方法名([实参列表])(同一类中,也可以用于上述方法访问)


4.static代码块

  在java中,如果有些代码(如初始化数据)必须在程序启动的时候就执行,需要使用静态代码块。静态代码块在类被装载时,自动执行一次,如果一个类有多个静态代码块,将按它们在类中出现的顺序依次执行。

  示例:

public class Test{
	static int i = 1;
	static{
		System.out.println("Hello,static" );
	}
	static{
		System.out.println("当前i的值"+ i++ );
	}
	public static void main(String[] args){
		System.out.println("当前i的值"+ i++ );
	}
}

  


 

以上是关于java关键字static的主要内容,如果未能解决你的问题,请参考以下文章

Java之static关键字

Java_static关键字,单例设计模式,代码块,final关键字,接口,内部类

零基础学Java并不难!详解Java中的static关键字(下)

Java基础 -- 关键字Static和Final

java中static关键字的意义

Java中的static关键字解析