java语言基础之代码块

代码块分类:

  1. 普通代码块
  2. 静态代码块
  3. 构造代码块
  4. 同步代码块

普通代码块:由{ } 花括号括起来的代码段。一般跟在方法名后面,作为方法体。应注意在代码块中声明变量,那么变量的生命周期作用域就是此括号括中的部分了。

静态代码块:是指在代码块前加上static。 他的主要作用是对静态变量进行修饰或操作,达到初始化的目的。当然,和所有的静态成员一样,他同样具有静态属性,随着类的加载而存在,不需要通过创建对象就可以用。

构造代码块:是用来扩展构造函数功能的代码段,主要进行对成员变量的初始化。也可以理解为,构造函数的前奏,他会和构造函数一起,在创建对象的时候,进行对成员变量的初始化操作。

同步代码块:是指关键字synchronized所修饰的代码块,用于多线程问题的解决。他的作用是在同一时刻的时候,只能有一个线程进行访问此代码块,从而解决了同一时刻多个线程同时访问共享变量造成的问题。


以上就是几种代码块的简要介绍,有个很奇特的问题:类中含有多种代码块时,创建对象的时候谁先运行

刚开始的时候我猜的是以代码块的代码顺序来执行。实际上是静态代码先执行,因为静态代码块在类创建的时候便已经存在,并执行初始化了,不需要等到创建对象。其次是构造代码块,就算把构造代码块写到构造函数下面,构造代码块也会先执行(所以我才会在上文说:构造代码块是构造函数的前奏),最后才是构造函数

class codelock {
     static
   {
//静态代码块
   }
   codeblock()
   {
//构造函数
   }

   {
//构造代码块
    }   
}

完结撒花~ 

第一次写技术博客,写的很粗糙<甚至不会贴代码...>,可能有些知识点也么有写到,各位看官可以补充一下,谢谢咯。

你可能感兴趣的:(java语言基础)