Final关键字对JVM类加载器的影响是怎样的
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关Final关键字对JVM类加载器的影响是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。当一个类中有声明为static
千家信息网最后更新 2026年11月01日Final关键字对JVM类加载器的影响是怎样的
这篇文章将为大家详细讲解有关Final关键字对JVM类加载器的影响是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
当一个类中有声明为static final的变量,这样的变量对类的加载器有一定的影响,首先看看下面的例子。
package com.bird.classLoad; class FinalTest{ public static final int a = 6/3; static{ System.out.println("FinalTest static block"); } } public class Test3 { public static void main(String[] args) { System.out.println(FinalTest.a); } }因为a是static final变量,且它等于6/3,在编译的时候就可以知道它的值,所以直接访问a的值不会引起FinalTest类的初始化。作为表现,也就是static静态代码快不会被加载。
运行结果为
2
在看一个例子
package com.bird.classLoad; import java.util.Random; class FinalTest4{ public static final int a = new Random().nextInt(100); static{ System.out.println("FinalTest4 static block"); } } public class Test4 { public static void main(String[] args) { System.out.println(FinalTest4.a); } }这个static final变量a因为i在编译的时候无法知道它的确切的值,所以只有等到运行的时候才能知道,所以自己访问FinalTest4.a会引起FinalTest4类的初始化。也就是static静态代码快的加载。
运行结果为
FinalTest4 static block 82
下面的例子是讲,当子类被主动访问的时候,会引起其直接父类的初始化
package com.bird.classLoad; class Parent{ static int a = 3; static{ System.out.println("Parent static block"); } } class Child extends Parent{ static int b = 4; static{ System.out.println("Chind static block"); } } public class Test5 { public static void main(String[] args) { System.out.println(Child.b); } }因为直接访问Child,b,会先初始化Parent类,然后初始化Child类。
运行结果为
Parent static block Chind static block 4
如果通过子类直接访问父类的变量,只会初始化父类而不会初始化子类
package com.bird.classLoad; class Parent{ static int a = 3; static{ System.out.println("Parent static block"); } } class Child extends Parent{ static{ System.out.println("Chind static block"); } } public class Test5 { public static void main(String[] args) { System.out.println(Child.a); } }直接访问Parent类的a变量,则只会直接初始化parent类,不会初始化Child类
运行结果如下
Parent static block 3
关于Final关键字对JVM类加载器的影响是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
变量
运行
时候
结果
影响
例子
子类
关键
关键字
也就是
代码
内容
文章
更多
知识
篇文章
静态
面的
编译
不错
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
湖北九亚互联网络科技有限公司
互联网科技社
重庆互联网络科技
万达互联网科技
互联网 新科技
深圳期待互联网科技
人人互联网科技是培训
美国互联网前沿科技
互联网科技素材视频竖屏
互联网巨头投资的硬核科技
互联网 科技馆
互联网之后的科技是什么
贵州叶脉互联网科技有限公司所属行业
江阴互联网智能科技产品进口
华夏恒生互联网科技013171
互联网科技和法律行业
南博望互联网科技有限公司
求路客互联网科技电话
科技和互联网行业的特点
互联网科技创业计划的风险分析
互联网黑科技
高科技互联网
中国互联网科技工作委员会毛军
圆梦互联网科技
互联网科技金融
上海喔噻互联网科技
互联网金融科技平台
广州善班互联网科技
互联网科技产品
互联网科技企业商标注意事项