静态代码块
格式:
static
{
静态代码块中的执行语句
}
特点:随着类的加载而执行,只执行一次,并优先于主函数。
格式:
static
{
静态代码块中的执行语句
}
特点:随着类的加载而执行,只执行一次,并优先于主函数。
用于给类进行初始化。
代码:
class Staticcode
{
static {
System.out.println("a");
}
}
class code
{
static {
System.out.println("b");
}
public static void main(String[] args) {
new Staticcode();
new Staticcode();//类已经在了,不执行!
System.out.println("over");
}
static {
System.out.println("c");
}
}
// b c a over
代码:
class Staticcode
{
//int num=9;//非静态成员
Staticcode() { //没有创造与之对应的对象
System.out.println("b");
}
static {//静态代码块,类的初始化
System.out.println("a");
//System.out.println("a"+this.num);//静态代码块,不能写this
}
{//构造代码块,对象初始化
System.out.println("c");
//System.out.println("c"+this.num); a c9 d
}
Staticcode(int x) {//构造函数,对应对象初始化
System.out.println("d");
}
public static void show() {
System.out.println("show run");
}
}
class code
{
public static void main(String[] args) {
new Staticcode(4);//a c d
System.out.println("over");
}
static {
System.out.println("c");
}
}