您的位置:首页 > 编程语言

静态代码块 构造代码块 构造函数 区别

2016-06-25 14:40 253 查看
构造函数:用于给对象进行初始化,是给与之对应的对象进行初始化,它具有针对性,函数中的一种。

特点:

1:该函数的名称和所在类的名称相同。

2:不需要定义返回值类型。

3:该函数没有具体的返回值。

记住:所有对象创建时,都需要初始化才可以使用。

注意事项:一个类在定义时,如果没有定义过构造函数,那么该类中会自动生成一个空参数的构造函数,为了方便该类创建对象,完成初始化。如果在类中自定义了构造函数,那么默认的构造函数就没有了。

一个类中,可以有多个构造函数,因为它们的函数名称都相同,所以只能通过参数列表来区分。所以,一个类中如果出现多个构造函数。它们的存在是以重载体现的。

构造函数和一般函数有什么区别呢?

1:两个函数定义格式不同。

2:构造函数是在对象创建时,就被调用,用于初始化,而且初始化动作只执行一次。

一般函数,是对象创建后,需要调用才执行,可以被调用多次。

什么时候使用构造函数呢?

分析事物时,发现具体事物一出现,就具备了一些特征,那就将这些特征定义到构造函数内。

构造代码块和构造函数有什么区别?

构造代码块:是给所有的对象进行初始化,也就是说,所有的对象都会调用一个代码块。只要对象一建立。就会调用这个代码块。

构造函数:是给与之对应的对象进行初始化。它具有针对性。

静态代码块:就是一个有静态关键字标示的一个代码块区域。定义在类中。

作用:可以完成类的初始化。静态代码块随着类的加载而执行,而且只执行一次(new 多个对象就只执行一次)。如果和主函数在同一类中,优先于主函数执行。

静态代码块、构造代码块、构造函数同时存在时的执行顺序:静态代码块 -->构造代码块 --> 构造函数;

-------------------

构造代码块。

作用:给所有对象进行初始化。

对象一建立就运行,而且优先于构造函数执行。

和构造函数的区别:

构造代码块是给所有对象进行统一初始化,

而构造函数是给对应的对象初始化。

构造代码快中定义的是不同对象共性的初始化内容。

静态代码块:

格式: static {静态代码块执行的语句}

特点:随着类的加载而执行,只执行一次,并优先于主函数执行,是对类初始化的。

class StaticCode

{

int num = 9;

StaticCode()

{

System.out.println("b");

}

static

{

System.out.println("a");

}

{

System.out.println("c");

}

StaticCode(int x)

{

System.out.println("d");

}

public static void show()

{

System.out.println("show run");

}

}

class StaticCodeDemo

{

static

{

System.out.println("b");

}

public static void main(String[] args)

{

new StaticCode(4);

}

}

复制代码

这段代码运行结果:

b

a

c

d
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: