java中有四种代码块
①普通代码块:直接在{}中出现的.
先说执行顺序:我们在new一个对象时,如果类还没加载,就需要先将类加载到内存,此时就会执行静态代码块,在创建对象时,是先执行代码块,然后执行构造器.所以静态代码块、代码块、构造器的执行顺序是:静态代码块→代码块→构造器.
再说作用:静态代码块是用于初始化类的(在加载类时执行,只执行一次),代码块是用于初始化对象的(在创建对象时执行,每次创建对象时都执行),构造器是用于创建对象的.
① 局部代码块
作用在方法当中,作用是控制变量的生命周期:
public void show(){
{
System.out.println("局部代码块运行!");
}
在程序中当我们定义完成一个局部变量x之后,并且在此时此刻呢的代码中,不想再用到它时,那么就没必要让x在内存中继续占用空间.所以呢就有了局部代码块.
作用在类的定义Body中,作用是给类的部分字段统一初始化:
public class Apple {
private String size;
//构造代码块
System.out.println("构造代码块运行!");
size = "E";
构造代码块与构造函数的区别是:构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化,因为构造函数是可以多个的,运行哪个构造函数就会建立什么样的对象,但无论建立哪个对象,都会先执行相同的构造代码块.也就是说,构造代码块中定义的是不同对象共性的初始化内容.所以理所当然的,构造代码块在构造函数之前执行.
作用有两个:
(1)给类的静态变量赋值;
作用在类的Body中,对类中的静态变量初始化:
public class APP {
static int x, y; // 静态变量
static {
public static void myMethod() {
y = x++ + ++x; // x++ 先使用x的值再加1;++x先加1再使用x的值
public static void main(String[] args) {
x--;
myMethod();
System.out.println(x + y + ++x);
以上就是土嘎嘎小编为大家整理的java中普通代码块相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!