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关键字,单例设计模式,代码块,final关键字,接口,内部类