美文网首页我爱编程
Java关键字-static

Java关键字-static

作者: erki_stwee | 来源:发表于2018-05-28 00:52 被阅读22次

什么是static

Java中并不存在全局变量的概念,但是我们可以通过static实现一个“伪全局”的概念,static可以用来修饰方法,变量和代码块。
Java把内存分为堆内存和栈内存,其中栈内存用来存放基本数据类型变量,数组和对象引用;堆内存用来存放对象;JVM加载一个类时,若该类存在static修饰的方法,变量则会为其在固定位置开辟一块内存区域。static具有不可恢复性。同时被static修饰的成员变量和成员方法不依赖于类。所有实例的引用都指向同一个地方,对其一个实例修改,其它实例都会发生相应改变

 public static int number = 0;

    public TestString() {
        number ++;
    }

    public static void main(String [] args0){

        TestString testString1 = new TestString();
        TestString testString2 = new TestString();

        System.out.println(testString1.number);
        System.out.println(testString2.number);

    }
输出结果
2
2

static的用法

static修饰的成员变量和静态方法,直接通过类名来加载。static修饰的代码块表示静态代码块,当JVM装载类的时候,就会执行这块代码,其用处非常大。

  • static修饰变量
    静态变量随着类的加载完成初始化,在内存中仅有一份,且JVM也只会为他分配一次内存,同时类所有的实例都共享静态变量。实例变量每创建一个实例都会创建一个实例变量。
    使用场景:对象之间共享数据
  • static修饰方法
    static方法是必须实现的不能与abstract共用。
  • static修饰代码块
    静态代码块会随着类的加载一块执行,它可以在代码中实现的位置没有关系。

static的局限

  • 只能调用static变量和方法
  • 不能以任何形式引用this,super
  • static在定义时就要对其初始化

总结

无论是修饰变量,方法还是代码块。只要用static修饰。都会在类加载时就准备好,可以不用依赖于对象。反之,必须依赖于对象实例。

相关文章

  • Java基础系列-static关键字

    原创文章,转载请标注出处:《Java基础系列-static关键字》 一、概述 static关键字是Java诸多关键...

  • Static关键字

    C语言中的static关键字和Java的static关键字意义不一样。 1 用static修饰函数 static用...

  • Java 面向对象2

    Java 面向对象 1. static 和 final static关键字---修饰成员变量 用static修饰的...

  • 1.3 static 关键字

    static 关键字 《Java编程思想》 中:static方法就是没有this的方法 static 修饰的方法或...

  • Java static关键字

    声明static属性 static是Java中定义的一个关键字,主要是描述全局的概念,所以利用static关键字可...

  • 代码查错

    Something1.java 5。 static关键字 static修饰成员变量 用static修饰的成员变量不...

  • Java static关键字

    Java之美[从菜鸟到高手演变]之Java中static关键字

  • Java:3分钟带你全面了解Static静态关键字

    前言 在Java中,静态 Static关键字使用十分常见 本文全面 & 详细解析静态 Static关键字,希望你们...

  • java面试问题总结与分享,很乱

    java中static关键字的作用 在Java中static表示“全局”或者“静态”的意思,用来修饰成员变量和成员...

  • 《九》、static关键字及代码块

    一、static关键字    static关键字在Java程序开发过程之中主要进行属性和方法的定义。 1、stat...

网友评论

    本文标题:Java关键字-static

    本文链接:https://www.haomeiwen.com/subject/dvoxjftx.html