问一个数组赋值的小问题 static funal int[] a;static { a = new int[2]; a[0] = 100; a[1] = 200;}这样是可以的吗?不是申明和创建要一起吗?第二个static是什么意思? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用static修饰变量是全局变量,在静态代码块中当然能访问static变量,static修饰的方法是不需要创建对像就得用访问的,在加载类的过程中完成静态变量和方法的内存分配 第二个static是一个静态代码块申明和创建是两码事,不必要一起funal --- > final 答:第一种:static final int[] a; static { a = new int[2]; a[0] = 100; a[1] = 200; } 第二种: static final int[] a={100,200};这两种是等价的.第二种方法,在编译时,就是转成第一种进行处理的(但更优化与高效.) 第二个static是一个静态代码块申明和创建是两码事 申明和创建不必一起,第二个static是静态块 static funal int[] a; //声明,由于是final修饰的,只能被赋值一次。static { a = new int[2]; //定义 a[0] = 100; a[1] = 200; } 第二个static是修饰静态, 就是当你在类加载(不只是new构造的时候,"类名. "也是加载,还有Class.forName("类名")的时候也算类加载),就会自动执行static修饰的属性,或者代码块,或者方法。应该明白了吧? 第二个static是一个静态代码块 申明和创建是两码事 这关系到代码块的运行效率问题 在Effecti java一书中的第四条建议就指出,避免创建重复的对象。 java中的FileFilter的使用 为什么不输出结果 求高手指教 exec运行程序一闪而过 java 怎么实现程序只运行一个 (点了很多次图标) 如何在一个类中,访问另一个类的方法和域呢? Menu中关于监听的问题 (急)如何得到系统的环境变量? www.apache.org怎么了? 关于多个.java文件的编译、运行问题?? 求教一个socket超时的问题 关于"另存为"的问题,请各位高手关心一下小弟,谢谢! 如何求数组的交集? 如何获得鼠标在屏幕中的位置?有鼠标位置这种类吗?
申明和创建是两码事,不必要一起
funal --- > final
第一种:
static final int[] a;
static {
a = new int[2];
a[0] = 100;
a[1] = 200;
} 第二种:
static final int[] a={100,200};
这两种是等价的.
第二种方法,在编译时,就是转成第一种进行处理的(但更优化与高效.)
申明和创建是两码事
static funal int[] a; //声明,由于是final修饰的,只能被赋值一次。
static {
a = new int[2]; //定义
a[0] = 100;
a[1] = 200;
} 第二个static是修饰静态, 就是当你在类加载(不只是new构造的时候,"类名. "也是加载,还有Class.forName("类名")的时候也算类加载),就会自动执行static修饰的属性,或者代码块,或者方法。应该明白了吧?
申明和创建是两码事