JDK源码分析

java之static、static final、final的区

2018-09-05  本文已影响16人  Sophie12138

static

static可修饰属性、方法、内部类、代码段
static强调的是只有一份,且可改变,但是在原有的地址空间上进行改变。
如:
static修饰属性

public class Test {
    //当加载类时就会优先初始化t变量,所以是在运行期前初始化空间。
    //在此之后使用Test.t = "test2"这样的语句,可以修改成功。
    private static String t = "test";
}

static修饰方法:

public class Test {
    // 可以通过Test.main()来进行调用。也是在加载字节码时初始化。
    public static void main(String[] args) {
        ...
    }
}

static修饰的内部类:

public class Test {
    //  修饰静态内部类(ps内部类分为:成员内部类、局部内部类、静态内部类、匿名内部类)
    static class StaticInnerClass {
    }

static修饰的代码片段:

public class Test {
    // 修饰静态方法
    static void fun() {
    }

jvm内存主要分为

final

static final

static final和final static没什么区别,一般static写在前面。

上一篇 下一篇

猜你喜欢

热点阅读