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

© 姬光普 中级黑马   /  2015-5-18 14:52  /  286 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

初始化块:给对象进行初始化,对象一建立就运行,而且优先于构造函数执行
和构造函数的区别:初始化块是给所有对象进行统一初始化
                              构造函数是给对应的对象初始化
举例代码:
  1. public class Test2_2 {

  2.         /**
  3.          * 初始化块
  4.          */
  5.         public static void main(String[] args) {
  6.                 // TODO Auto-generated method stub
  7.                 Person p1=new Person();
  8.                 Person p2=new Person("黑马");
  9.         }
  10. }

  11. class Person{
  12.        
  13.         Person(){   //无参构造函数
  14.                 System.out.println("我给所有无参的对象初始化");
  15.         }
  16.         Person(String name){    //有参构造函数
  17.                 System.out.println("我给所有有参的对象初始化");
  18.         }
  19.         //初始化块
  20.         {
  21.                 System.out.println("我给所有对象初始化");
  22.         }
  23. }
复制代码
输出结果:
  1. 我给所有对象初始化
  2. 我给所有无参的对象初始化
  3. 我给所有对象初始化
  4. 我给所有有参的对象初始化
复制代码


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