final关键字的案例
package com.company.java.oop.cls; class ClassF { // static ClassF instance =new ClassF(); static { System.out.println("static{}.b =" +ClassF.b ); } static final int b = 10; //加final关键字属于编译时优化,初始化完成, 所有static 代码块里打印的是 10 ,如果没有static 则为0 。 } public class TestClassObject09 { public static void main(String[] args) throws ClassNotFoundException { Class.forName("com.company.java.oop.cls.ClassF"); } }
package com.company.java.oop.cls; class ClassF { static ClassF instance = new ClassF(); //实例化 public ClassF() { System.out.println(b); b为10 ,如果 int b 没有用final 修饰的话那么为0. } static { System.out.println("static{}.b =" + ClassF.b); } static final int b = 10; // 加final关键字属于编译时优化,初始化完成, 所有static 代码块里打印的是 10 ,如果没有static 则为0 。 } public class TestClassObject09 { public static void main(String[] args) throws ClassNotFoundException { Class.forName("com.company.java.oop.cls.ClassF"); } }