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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邓士林 高级黑马   /  2015-1-10 18:27  /  1458 人查看  /  6 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

静态代码块(1、用到类中的内容才加载;2、给类进行初始化)
随着类的加载而执行,只执行一次,并优先于主函数,也优先于构造代码块。用于给类进行初始化。

构造函数(构造函数给对应的对象初始化)
构造函数是在对象一建立就运行,给对象进行初始化。

构造代码块(构造代码块给所有对象进行统一初始化)
构造代码块是在对象一建立就运行,而且优先于构造函数执行,用来定义不同对象共性的初始化内容。
构造代码块与构造函数区别:构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化。
总结:“静态代码块”优先于“构造代码块”优先于“构造函数”。
测试用例:
  1. class Construct
  2. {
  3.         String name = "NAME";
  4.         static String Id = "我是静态变量。";
  5.         Construct(String name)
  6.         {
  7.                 this.name = name;
  8.                 System.out.println("我是构造函数");
  9.         }

  10.         //构造代码块
  11.         {
  12.                 System.out.println("我是构造代码块。");
  13.         }

  14.         //静态构造代码块
  15.         static
  16.         {
  17.                 System.out.println("我是静态代码块");
  18.         }
  19. }
  20. class TestConstruct
  21. {
  22.         public static void main(String[] args)
  23.         {
  24.                 Construct cs = new Construct("初始化");
  25.         }
  26. }
复制代码

评分

参与人数 1技术分 +10 收起 理由
lwj123 + 10 总结的不错,继续加油!

查看全部评分

6 个回复

倒序浏览
巩固知识,谢谢、、
回复 使用道具 举报
感谢分享
回复 使用道具 举报
巩固巩固。。。
回复 使用道具 举报
哈哈,上了一天课,眼睛花了
回复 使用道具 举报
每次看都有不一样的收获
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马