面向对象(静态代码块)-第15天

面向对象(静态代码块)

格式:

static

{

静态代码块中的执行语句。

}

 

特点:随着类的加载而执行,只执行一次。并优先于主函数。

用于给类进行初始化的。

class StaticCode

{

static

{

system.out.println("a");

}

}



class StaticCodeDemo

{

static

{

system.out.println("b"); //1先打印b

}

public static void main(String[] args)

{

new StaticCode();//2打印a。只执行一次类StaticCode中的静态代码块

new StaticCode();//这次不打印。

system.out.println("over");

}

//打印:

b

a

 

例子2:

class StaticCode

{

static

{

system.out.println("a");//1打印a

}

public staticvoid show()

{

system.out.println("showrun");//2打印show run

}

}



class StaticCodeDemo

{

static

{

}

public static void main(String[] args)

{

StaticCode.show();//静态,类名调用

}//当主函数也有静态代码块

static

{

system.out.println("c");//3然后打印c

}

}

//打印:

a

show run

c

 

例子3:

class StaticCode

{

StaticCode()

{

system.out.println("b");

}

static

{

system.out.println("a");

}

{//匿名代码块,也是随着类的加载而加载

system.out.println("c");

}

StaticCode(int x)

{

system.out.println("d");

}

public static void show()

{

system.out.println("show run");

}

}



class StaticCodeDemo

{

static

{

}

public static void main(String[] args)

{

new.StaticCode(4);

}

static

{

}

}

//打印

a

c

d

 

例子4:

class StaticCode

{

int num=9;

StaticCode()//构造函数

{

system.out.println("b");

}

Static//静态

{

system.out.println("a"+num);//编译错误。静态成员无法引用非静态成员num

}

}

例子5:

class StaticCode

{

int num=9;

StaticCode()//构造函数

{

system.out.println("b");

}

Static//静态代码块

{

system.out.println("a");

}

{//代码块

system.out.println("c"+this.num);//引用本类成员中的num,但是代码块优先于主函数存在,优先于int num=8;故此时this.num,默认值为空。

}

StaticCode(int x)

{

system.out.println("d");

}

}



class StaticCodeDemo

{

static

{

}

public static void main(String[] args)

{

new.StaticCode(4);

}

//打印

a

c

d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值