我是靠谱客的博主 健壮蜜粉,最近开发中收集的这篇文章主要介绍java static 和final_java之static、static final、final的区别与应用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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内存主要分为

stack segment

heap segment

code segment

data segment

static作为类共享的修饰符,可以被类中任何地方调用访问。static修饰的变量存放在code segment。而一般的变量存在实例中,实例存在于heap segment,变量的引用存放在stack segment中。

final

final修饰的类不能被继承

final修饰的方法,无法被子类重写

final修饰的变量,无法修改值,final String a;,因为在初始化时没有赋值,之后a变量不能再赋值修改。

static final

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

常量,在加载时不依赖类,即在常量是在加载类之前加载的,加载常量后,才加载类,所有的常量会维护在常量池中。

最后

以上就是健壮蜜粉为你收集整理的java static 和final_java之static、static final、final的区别与应用的全部内容,希望文章能够帮你解决java static 和final_java之static、static final、final的区别与应用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部