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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© linder_qzy 中级黑马   /  2015-3-7 21:42  /  656 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 linder_qzy 于 2015-3-7 21:45 编辑

构造代码块:
作用:给所有对象初始化。对象一建立就运行,而且优先于构造函数执行。
与构造函数的区别:构造代码块是给类中所有对象进行统一的初始化,而构造函数是给对应的对象进行初始化。
构造代码块中定义的是不用对象共同的初始化内容
  1. public class Person {
  2.         int age;
  3.         String name;
  4.         //构造代码块
  5.         {
  6.                 cry();
  7.         }
  8.         public void cry()
  9.         {
  10.                 System.out.println("cry....");
  11.         }
  12. }
复制代码
  1. public static void main(String[] arg)
  2.         {
  3.                 Person p = new Person();
  4.         }
复制代码


执行结果:cry....

3 个回复

倒序浏览
刷分不是这么刷的、、
回复 使用道具 举报
可以想像jvm会把 构造代码块 中的语句放到 父类构造函数调用语句super([参数]) 和 子类构造函数自定义语句 之间,那么你就知道它们的执行顺序了。
回复 使用道具 举报
wdhm5423 发表于 2015-3-7 21:46
刷分不是这么刷的、、

你误会了 我不需要分的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马