您的位置:首页 > 编程语言 > Java开发

Java staict关键字

2018-03-21 20:58 197 查看
static关键字static  静态修饰关键字,可以修饰 变量,程序块,类的方法。被修饰的变量表示为类的所有对象所共有的变量,被修饰的方法表示为类的方法。
当你定义一个static的变量的时候jvm会将将其分配在内存堆上,所有程序对它的引用都会指向这一个地址而不会重新分配内存;如果static修饰一个程序块的时候(像static{...}),jvm会优先加载静态块中的代码。static的作用域是类而并非是某个具体对象。
静态方法声明static方法有以下限制:
·静态方法仅能调用其他静态方法。
·静态方法只能访问static数据。
·静态方法不能引用任何形式的this或者supper。
class Test{
        static void test(){
            System.out.println("Wlecome");    
        }

}
public class call{
    public static void main(String[] args){
        Test.go();

    }

}
静态变量当一个变量声明为static变量实质上就是一个全局变量。当声明一个对象时,并不产生static变量。而是所有该类的实例都共用这一个static变量。静态变量与静态方法类似,所有该类实例共享此静态变量。在类装载时,只分配一块空间,所有类的对象都可以操作。
class Value {    static int c = 0;     static void inc() {       c++;    }}public class Count2 {    public static void prt(String s) {       System.out.print(s);    }    public static void main(String[] args) {       Value v1, v2;       v1 = new Value();       v2 = new Value();       prt("v1.c=" + v1.c + "  v2.c=" + v2.c);       v1.inc();       prt(" v1.c=" + v1.c + "  v2.c=" + v2.c);    }}结果为:v1.c=0  v2.c=0 v1.c=1  v2.c=1

静态代码块静态代码块在类被初次加载的时候,会按照static块的顺序来执行每个static块,并且每个static块只会执行一次。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:   java static