黑马程序员——构造函数,构造代码块,静态代码块的区别

来源:互联网 发布:淘宝丫头正品商城正吗 编辑:程序博客网 时间:2024/05/16 15:31

------<a href="http://www.itheima.com"target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------     

  构造函数是给对应对象进行初始化的,是在类一建立就存在的,构造函数可以重载,根据对应的参数找对应的方法
       构造代码块是给类的所有对象进行初始化的,优先于别的方法先运行,只要类的对象一建立,它就运行。
       静态代码块是给类进行初始化的,只能被静态的方法或者静态的属性调用,因为它是在类一创建就建立,优先于对象存在
 所有被静态static所修饰的,都不可以使用this和super ,因为它是优先于对象所存在的,而this和super是表示所调用它的对象
过程:加载.class文件分配内存,静态代码块,默认构造函数的初始化,显示初始化,构造代码块,对应的构造函数初始化
静态什么时候使用:在使用不到本类特有属性的时候,就可以声明成静态的

一、构造函数

格式:

  1. [修饰符] 类名(参数列表) 
  2. 构造函数中的执行语句;
作用:给对象进行初始化。

1、构造函数的特点:

1)构造函数与类名相同;

2)构造函数不返回任何值,也没有返回类型;

3)每一个类有零个或多个构造函数;

4)构造函数在创建对象时自动执行,一般不用显式调用。


现在,就上述几个需要说明的特点进一步进行解释:

特点1:注意java语言区分大小写

特点2:因此,构造函数前面不可添加任何返回值类型(包括void),也不可以写return语句

特点3:用户未给类定义构造函数时,编译器会自动添加默认的无参构造函数;一旦用户定义了构造函数,则不会产生默认的构造函数;多个构造函数是以重载的形式存在

特点4:构造函数也可以显式调用,通过this语句和后面介绍的super语句。

二、构造代码块

格式:

  1.     构造代码块中的执行语句; 

作用:给对象进行初始化

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

与构造函数的区别:

构造代码块是给所有对象进行统一的初始化,其定义的是不同对象共性的初始化内容;而构造函数是给对应的对象进行初始化。


三、静态代码块

格式:

  1. static 
  2.     静态代码块中的执行语句; 

作用:给类进行初始化。

特点:随着类的加载而执行,但只执行一次,且优先于主函数。

 

0 0
原创粉丝点击