liyan5953
发贴: 5
积分: 0
|
于 2004-09-30 11:28
请教一下静态初始化器的作用和在定义静态变量是直接付初值有什么区别? 看看下面两段代码运行结果为什么会一样? public class st{ public static void main(String arg[]){ liyan ly1=new liyan(); System.out.println(ly1.a); System.out.println(ly1.m); liyan ly2=new liyan(); System.out.println(ly2.a); System.out.println(ly2.m); } } class liyan{ static{a=1;} static int a; static int m=a++; } 和public class st{ public static void main(String arg[]){ liyan ly1=new liyan(); System.out.println(ly1.a); System.out.println(ly1.m); liyan ly2=new liyan(); System.out.println(ly2.a); System.out.println(ly2.m); } } class liyan{ static int a=1; static int m=a++; }
|