黑马程序员技术交流社区

标题: 构造代码块解析 [打印本页]

作者: 竹叶君子    时间: 2015-3-5 15:15
标题: 构造代码块解析
本帖最后由 竹叶君子 于 2015-3-5 15:19 编辑

构造代码块
作用:给对象进行初始化。
特点:对象一建立就运行,而且优先于构造函数执行。
构造代码块和构造函数的区别:
       构造代码块中定义的是不同对象共性的初始化内容,给所有对象进行统一初始化;而构造函数是给对应的对象初始化。
  1. class PersonTest
  2. {
  3.     String name;
  4.     int age;
  5.     //构造代码块
  6.     {
  7.          System.out.println("构造代码块运行");
  8.      }     
  9.     PersonTest()   //无参数的构造函数
  10.      {
  11.          System.out.println("无参数的构造函数运行");
  12.      }
  13.     PersonTest(String name)     //有一个参数的构造函数
  14.       {
  15.          System.out.println("有一个参数的构造函数运行");
  16.        }
  17. }
复制代码
classPersonTestDemo
{
   public static void main(String[] args)
      {
          System.out.println("下面是建立第一个对象p1后的运行结果:");
          PersonTest p1 = new PersonTest();
          System.out.println();
          System.out.println("下面是建立第二个对象p2后的运行结果:");
          PersonTest p2 = newPersonTest("zhangsan");
      }
}
编译后运行结果如下:

通过运行结果可以看出,每次创建好对象后,构造代码块中的内容都会被执行;而重载的其他构造函数,是在其所属的对象被创建时,才开始执行。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2