package com.dennis.test.init; import java.util.Random; public class FinalClass { private final static int a = 6/3; private final static int a1 = 9; private final int a2 = 6; private final static int b = (int) new Random().nextInt(100); static { System.out.println("===========ccc============" + b); } static { System.out.println("===========dddd============"); } { System.out.println("===========eeeee============" + a2); } /** * @param args */ public static void main(String[] args) { // System.out.println(a); // =========== ccc =========== 23 // ===========dddd============ // 2 // System.out.println(b); // =========== ccc ============ 59 // ===========dddd============ // 59 // System.out.println("***********************"); // System.out.println(Bn);//n value is determined at runtime // =========== ccc =========== 8 // ===========dddd============ // AAAAAAAAAAAAAAAAAAAAAAA // BBBBBBBBBBBBBBBBBBBBBBBBBBBB // 3 // System.out.println(Am);//m determines the value at runtime, c has determined the value at compile time // =========== ccc =========== 46 // ===========dddd============ // AAAAAAAAAAAAAAAAAAAAAAA // 1 System.out.println(Bm);//m The value has been determined at compile time // =========== ccc ============ 1 // ===========dddd============ // 6 } void print() { System.out.println("FinalClass print method " + a1); } } class A{ static int m =1; static { System.out.println("AAAAAAAAAAAAAAAAAAAAAAA"); } final static int c =1; } class B extends A { // static int m =2; static int n =3; static { System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBBBBB"); } final static int m =6; } AI interface { static int mi =1; } interface BI { static int mi =1; }
output order