A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 竹叶君子 中级黑马   /  2015-3-5 15:15  /  683 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 竹叶君子 于 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");
      }
}
编译后运行结果如下:

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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马