构造函数,静态块,匿名构造块

1,静态块

随着JVM加载类的时候加载而执行
不管new多少次,只执行一次
如果一个类中有多个static修饰的静态代码块,按照先后顺序执行。
例:

	public class B {
public static B t1 = new B();
public static B t2 = new B();

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

public B() {
System.out.println("构造函数");
}

static {
System.out.println("静态代码块");
}

public static B t3 = new B();

public static void main(String[] args) {
new B();
}

}

//运行结果
构造代码块
构造函数
构造代码块
构造函数
静态代码块
构造代码块
构造函数
构造代码块
构造函数

2,匿名构造块

		执行在构造方法之前
	
	构造代码块与构造函数的区别是:构造代码块是给所有对象进行统一初始化
	而构造函数是给对应的对象初始化,因为构造函数是可以多个的,运行哪个构造函数就会建立什么样的对象,
	但无论建立哪个对象,都会先执行相同的构造代码块。
	也就是说,构造代码块中定义的是不同对象共性的初始化内容。

3,构造函数

构造函数的特点:

					函数名与类名相同
					不用定义返回值类型
					不可以写return语句

构造函数的初始化:

创建对象时才会调用。
构造函数的作用:给对象进行初始化。
构造函数对象一建立就会调用与之对应的构造函数,可用于给对象进行初始化。
当一个		类中没有定义构造函数时,系统会默认给该类加入一个空参数的构造函数,
当自己定义了构造函数后,默认的空构造函数就不存在了。
注意:默认构造函数的特点;多个构造函数是以重载的形式存在的。

执行顺序
静态块---->匿名构造块-------->构造函数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值