A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zclove898 高级黑马   /  2011-12-7 23:04  /  3169 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 zclove898 于 2011-12-8 23:29 编辑

   静态代码块在什么情况下使用啊?在实际开发中,静态代码块运用的多吗?

7 个回复

倒序浏览
一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,
作用:静态代码块可用来初始化一些最常用的变量或语句;
用的多不多还不是太了解 呵呵

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
t_mac 黑马帝 2011-12-7 23:21:43
藤椅
本帖最后由 t_mac 于 2011-12-7 23:23 编辑

        一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,
在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用,
在这个类第一次被调用或实例化的时候就会被执行。静态代码块在非静态代码块之前执行(静态代码块—>非静态代码块—>构造方法)。

还要注意:静态代码块只在第一次new执行一次,之后不再执行,而非静态代码块在每new一次就执行一次。
静态代码块只会执行一次,一般会用来初始化一些值,并且在所有对象中全局共享。
具体项目具体分析。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
静态代码块是在类被加载时执行,且只执行一次,经常用来进行类属性的初始化。
回复 使用道具 举报
静态代码块可以直接使用类名来引出你的方法。而不需要声明对象引用和初始化对象
回复 使用道具 举报
static修饰的属性属于类属性,他可以作为不同对象之间的共享变量。static修饰的方法属于类方法,可以在不创建任何对象的前提下通过类名调用,这类似与全局方法。static修饰的静态初始化块,可以完成某些初始化工作。他常用于对类属性进行初始化,不能用于对实例属性进行初始化。当执行子类的初始化块时,会先执行父类的初始化块。
回复 使用道具 举报
随着类的加载而加载,只执行一次,用来进行类属性的初始化
回复 使用道具 举报
武超 黑马帝 2011-12-8 15:44:57
8#
静态代码块是用来对类进行初始化的,随着类的加载而加载
static {   };
类第一次被调用或实例化的时候就会被执行。
静态代码块只会执行一次,可以用来初始化一些值,在所有对象中全局共享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马