关于static{}的问题 在java类在,常有一个这样的方法:public class Test{ private String name = null; static { ……………… }}这个static中的内容是怎么回事啊?是类运行时执行么?还是……?请高手指教!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是static void main(String[] args){}那么这个是一个测试方法,就是这个类是可以直接运行的,入口就是main.如果不是,那你可以当成函数来看。 static {} 是用来初始化这个类的 一般是类加载的时候执行 一般类中的main做为测试/例子来用。 靜態塊,可以在static{...}中定義多個類變量 ,在類加載時候處理,縂優先于類的構造函數,但只運行一次。 这是“静态初始化块(static block)”,在类被装载的时候执行。具体地说,有下列这些情况:1. 类的第一个实例被创建之前;2. 访问类的静态成员时;3. 使用class.forName()方法加载某个类时。由于类只被装载一次,因此静态初始化块中的代码也只执行一次。 static int a=1;static int b=2;你可以这么写static{ int a=1; int b=2;}static语法不变 与实例变量不同,类变量属于类。它的初始化不使用构造方法来进行。当对类变量的初始化不适合在声明时完成时。可以在类初始化块中进行初始化。类初始化块是由关键字 static 标志的一对大括号{}括起的的语句组,类初始化块不能再任何方法内。例如:class A{ static int[] array =new int[10]; static { for(int i=0;i<9;i++) array[i]=i; } //...}这个for循环不适合在声明时初始化,因此采用一个类初始化块。类初始化块仅执行一次。即首次生成那个类的一个对象时。或者首次访问属于那个类的一个static成员时,即便从未生成过那个类的对象。 关于多word内容不同替换的问题 求eclipse历史版本下载 大文件下载 我很多的问题 谢谢大家帮忙~~ 如何给java数组循环附值 请问下JavaBean是做什么用的? 把字符转化成字节?在线急等......................................... 请教一个引用包问题? JAVA如何让扬声器发出声音啊? interface 的作用是? java BufferedInputStream FileInputStream的用法 请问如何在unix下抓包 棘手的Socket问题,涉及到多线程。请大家帮忙!
static void main(String[] args){
}那么这个是一个测试方法,就是这个类是可以直接运行的,入口就是main.如果不是,那你可以当成函数来看。
2. 访问类的静态成员时;
3. 使用class.forName()方法加载某个类时。由于类只被装载一次,因此静态初始化块中的代码也只执行一次。
static int b=2;
你可以这么写
static{
int a=1;
int b=2;
}
static语法不变
class A{
static int[] array =new int[10];
static {
for(int i=0;i<9;i++)
array[i]=i;
}
//...
}
这个for循环不适合在声明时初始化,因此采用一个类初始化块。类初始化块仅执行一次。即首次生成那个类的一个对象时。或者首次访问属于那个类的一个static成员时,即便从未生成过那个类的对象。