java--01--final
来源:互联网 发布:李世默 知乎 编辑:程序博客网 时间:2024/06/07 20:42
class TextDemo { static { System.out.println("静态初始化块。。。"); } static **final** String compileConstant="疯狂Java讲义";}public class TextDemo_01{ public static void main(String[] args){ System.out.println(TextDemo.compileConstant); }}
class TextDemo { static { System.out.println("静态初始化块。。。"); } static String compileConstant="疯狂Java讲义";}public class TextDemo_01{ public static void main(String[] args){ System.out.println(TextDemo.compileConstant); }}
如果仔细 看两个差不多的程序就会发现,在第一个程序中的在类变量前面加了final修饰,在main方法中调用时,静态初始化代码块中的输出没有执行,发现TextDemo类没有初始化,但是在第二段程序中的compileConstant没有加final修饰,却执行了静态初始化代码块。查资料得知,对于一个final型的类变量,如果该类变量的值在编译时就可以确定下来,那么这个类变量就相当于宏变量,java编译器会在编译时直接把这个类变量出现的地方替换成它的值,因此即使程序使用该静态类变量,也不会导致该类的初始化。欢迎补充。。。
0 0
- java--01--final
- java final
- java final
- JAVA@final
- java final
- java final
- java final
- JAVA final
- Java-Final
- java final
- java final
- java-final
- Java Final
- java final
- Java final
- Final - java
- java final
- Java final
- PAT甲级.1012. The Best Rank (25)
- linux crontab使用和查询
- 机器学习经典算法之KNN及python实现
- leecode 解题总结:38 Count and Say
- iOS真机调试
- java--01--final
- Shader(固定管线着色器)
- JSON数据格式(一)
- webpack 入门
- C++ STL中Map的按Key排序和按Value排序
- 文章标题
- linux下使用find xargs grep查找文件及文件内容
- ajax入门之建立XHR对象 (1)
- Leetcode 321 - Create Maximum Number(贪心)