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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

他们的使用场景?有何不同作用?

19 个回复

倒序浏览
静态代码块是当类在加载时,静态代码块就会被自动执行,先于main方法被执行且只执行一次,常用来对一些类的属性进行初始化
构造代码块是每次进行对象的建立时都会被执行到
回复 使用道具 举报
cly成子 来自手机 中级黑马 2015-2-14 22:02:28
藤椅
我也有点不懂~谁可以详尽点!
回复 使用道具 举报
都是进行初始化的。执行顺序不一样。只执行一次
先执行静态代码块,接着就是构造代码块。再接着就是构造函数。
如果在主类里面的话。执行顺序是:先执行静态代码块。在执行main方法、在执行构造代码块。在接着才是构造函数。
回复 使用道具 举报
静态是随着类加载的
回复 使用道具 举报
huangchunwei 来自手机 中级黑马 2015-2-14 23:03:56
地板
静态代码块优先于类存在,是给类进行初始化。类加载后如果有main会先执行main,然后执行构造代码块,构造代码块给所有的对象进行初始化。如果有创建实例对象,则会执行构造函数,构造函数是给对应的对象进行实例初始化。
回复 使用道具 举报
复习了,之前还没注意呢
回复 使用道具 举报
静态代码块,只执行一次,就是在类加载的时候执行;
回复 使用道具 举报
静态代码块,用于初始化类属性,只执行一次,就是在类加载的时候执行;
构造代码块,用于初始化对象,在每一次创建对象时执行,且由于构造函数
构造函数,给对应对象初始化的,建立对象时,选择相应的构造函数初始化对象。       
  创建对象时,三者被加载执行顺序:静态代码块--->构造代码块--->构造函数
回复 使用道具 举报
学习了,之前看过一篇文章里是这么写的:
父类类静态类型 -> 子类静态类型 -> 父类正常实例化 -> 成员变量 -> 构造函数。静态类型的初始化顺序都是先变量后程序块。
回复 使用道具 举报
合理利用这两个会大大提升程序的效率。
回复 使用道具 举报
静态代码块是给类进行初始化的,构造代码块是给所有的对象进行初始化的
回复 使用道具 举报
看那了  但是没有仔细看这个问题  还是不知道这个是
回复 使用道具 举报
加载的时候是什么时候?是指调用的时候吗
回复 使用道具 举报
静态代码块给类初始化的只执行一次
构造代码块给所有对象初始化的,创建那个对象它都会运行。
构造函数给对应对象初始化的,这个没必要说了 经常用
回复 使用道具 举报
静态代码块
  1. class Demo
  2. {
  3.     static //静态代码块
  4.      {}
  5. }
复制代码

随着类的加载而执行。而且只执行一次(这跟类的生命周期较长有关)
作用:给类进行初始化
构造代码快
  1. class Demo
  2. {
  3.    {构造代码块}
  4. }
复制代码

类中独立代码块
作用:给所有对象进行初始化。
(构造函数是给对应的对象进行针对性的初始化。)
回复 使用道具 举报
补充一个
局部代码块
  1. class Demo
  2. {
  3.     public void demo()
  4.     {
  5.        {//局部代码块}
  6.     }
  7. }
复制代码

方法中的空白代码块
作用:限制局部变量的生命周期
回复 使用道具 举报
学习下...
回复 使用道具 举报
楼上说的都不错
回复 使用道具 举报
http://bbs.itheima.com/thread-170566-1-1.html
我编辑的帖子,楼主去看看。
构造代码块和静态代码块的作用就是在实例化的时候对类进行初期化。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马