java 构造代码块执行几遍_java构造方法,构造代码块,静态代码块的执行顺序

构造方法,构造代码块,静态代码块的执行顺序

静态代码块:用static声明,jvm加载类时执行,仅执行一次

类中直接用{}定义,每次创建对象时执行

同级别的变量(static和普通变量)的执行顺序由代码执行顺序决定(从上到下也就是代码书写顺序)

package com.rumenz;

public class Rumenz {

private Integer id=100;

private static String name="入门小站";

{

System.out.println("构造代码块。。。");

System.out.println("变量 id:"+id);

}

static {

System.out.println("静态变量name:"+name);

System.out.println("静态代码块。。。");

}

public Rumenz() {

System.out.println("构造方法。。。。");

}

public static void main(String[] args) {

Rumenz r=new Rumenz();

}

}

执行Rumenz r=new Rumenz();输出

静态变量name:入门小站

静态代码块。。。

构造代码块。。。

变量 id:100

构造函数。。。。

不执行Rumenz r=new Rumenz();输出

静态变量name:入门小站

静态代码块。。。

构造方法

public Rumenz() {

System.out.println("构造方法。。。。");

}

对象一旦创建就会调用与之相对应的构造方法

不创建对象就不会调用构造方法

构造函数的作用是给对象初始化

对象创建一次,构造函数只调用一次,而普通方法可以被调用很多次

构造代码块

{

System.out.println("构造代码块。。。");

}

给对象进行初始化.

对象一创建就会执行构造代码块,而且先于构造方法执行.

构造代码块每一次创建对象都会执行,但是创建对象时调用不通的构造方法会得到不同的对象,也就是说构造代码块用于初始化对象通用的属性或者功能.

静态代码块

static {

System.out.println("静态代码块。。。");

}

由jvm加载类时执行,而且只执行一次.

静态代码块是给类进行初始化,构造代码块是给对象进行初始化

静态代码块中的变量属于局部变量

原文: [https://rumenz.com/rumenbiji/ constructor-static-code-block.html](https://rumenz.com/rumenbiji/ constructor-static-code-block.html)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值