黑马程序员技术交流社区

标题: 静态代码块、代码块、构造函数学习 [打印本页]

作者: 邓士林    时间: 2015-1-10 18:27
标题: 静态代码块、代码块、构造函数学习
静态代码块(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. }
复制代码

作者: phil    时间: 2015-1-10 20:59
巩固知识,谢谢、、
作者: 彭学伟    时间: 2015-1-10 21:27
感谢分享
作者: 淡调调/ka    时间: 2015-1-10 21:29
巩固巩固。。。
作者: qq306149769    时间: 2015-1-10 21:34
哈哈,上了一天课,眼睛花了
作者: hanjun    时间: 2015-1-10 21:44
每次看都有不一样的收获




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