前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java_自由块(静态块和非静态块)

java_自由块(静态块和非静态块)

作者头像
Hongten
发布2018-09-13 15:06:52
1.1K0
发布2018-09-13 15:06:52
举报
文章被收录于专栏:HongtenHongtenHongten

java中的自由块分为两种:

静态块和非静态块

静态块:

1 public class Test {
2     static int x = 10;
3     //静态块:静态块的执行时机是在class文件装载的时候;静态块只会执行一次
4     //多个静态块的时候,按出现顺序执行
5     static{
6         x+=5;
7     }
8 }

非静态块:

1 public class Test {
2     //非静态块:每次初始化一个对象,都会导致一次非静态块的执行;在构造函数执行之前执行
3     //继承关系:父类的非静态块->父类的构造函数->自己的自由块->自己的构造函数
4     {
5         System.out.println("before");
6     }
7 }

测试demo:

 1 public class Test {
 2 
 3     static int x = 10;
 4     //静态块:静态块的执行时机是在class文件装载的时候;静态块只会执行一次
 5     //多个静态块的时候,按出现顺序执行
 6     static{
 7         x+=5;
 8     }
 9     public static void main(String[] args) {
10         new Test();
11         System.out.println(x);
12     }
13     //静态块
14     static {
15         x/=3;
16     }
17     public Test(){
18         System.out.println("构造函数");
19     }
20     //非静态块:每次初始化一个对象,都会导致一次非静态块的执行;在构造函数执行之前执行
21     //继承关系:父类的非静态块->父类的构造函数->自己的自由块->自己的构造函数
22     {
23         System.out.println("before");
24     }
25 }

控制台输出:

before
构造函数
5

更多信息:java自由块

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013-04-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档