Java中的代码块

1、代码块分类

1/1 在某个方法内,或某个语句内,出现一对大括号,大括号内的就是代码块,可用于限定变量的作用域

 

1/2 构造代码块(定义在类体中)

       1/2/2  在实例化对象时执行,构造代码块和构造方法同时存在时,优先执行构造代码块,再执行构造方法。其作用同构造方法,用于初始化数据成员,或做一些先期的工作

1/2/3 构造代码块虽然和构造方法作用相同,但是构造代码块不能传递参数,而构造方法可以

1/3 静态代码块(定义在类体中)

1/3/1 在代码块前加static关键字。

1/3/2 当第一次实例化此类对象时,会被执行一次,之后将不再被执行。

1/3/3 构造方法、普通代码块、静态代码块、方法代码块同时存在是的执行顺序:

静态代码块-->普通代码块-->构造方法-->方法内的代码块

1/3/4 静态代码块只能访问静态成员

 

classDaiMaKuai

{

publicstatic void main(String[] args)

{

Testtest = new Test();

test.fun();

System.out.println("****************************");

Testtest2 = new Test();

test2.fun();

System.out.println("****************************");

Testtest3 = new Test();

test3.fun();

}

}

 

classTest

{

inti;

Stringstr;

 

//构造代码块优先于构造方法执行

Test(){

i= 60;

str= "Hi World!";

System.out.println(i+ " " + str);

}

 

{

//代码块可用于初始化成员变量,或者执行一些初期工作

i= 10;

str= "HelloWorld!";

System.out.println(i+ " " + str);

}

 

static{

System.out.println("静态代码块");

}

 

publicvoid fun(){

{

//此处不能再使用this使用成员变量

/*this.i= i;

this.Str= str;*/

 

inti = 23;

Stringstr = "ABCDEF";

System.out.println(i+ " " + str);

}

}

}

 

静态代码块

10HelloWorld!

60Hi World!

23ABCDEF

****************************

10HelloWorld!

60Hi World!

23ABCDEF

****************************

10HelloWorld!

60Hi World!

23ABCDEF

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值