构造代码块、静态代码块与构造方法是三种不同的代码块,那么他们到底有什么区别呢?
一、简单认识一下构造代码块、静态代码块与构造方法
class A
{
//构造代码块
{
System.out.println("构造代码块A");
}
//静态代码块
static
{
System.out.println("静态代码块A");
}
//构造方法
public A()
{
System.out.println("构造方法A");
}
}
二、弄清三者的执行顺序
class Demo
{
public static void main(String[] args)
{
new A();
}
}
三、在构造多个对象时顺序又会是怎样呢
class Demo
{
public static void main(String[] args)
{
new A();
new A();
new A();
}
}
四、看看在继承体系中又会是怎样
class B extends A
{
//构造代码块
{
System.out.println("构造代码块B");
}
//静态代码块
static
{
System.out.println("静态代码块B");
}
//构造方法
public B()
{
System.out.println("构造方法B");
}
}
class Demo
{
public static void main(String[] args)
{
new B();
}
}原文地址:http://blog.csdn.net/liujian619/article/details/45467483