[BigDataJava:Java&static关键字继承.V03] [BigDataJava.面向对象][|章节三|static关键字和继承|构造块和静态代码块|]
一、构造块和静态代码块
### --- 构造块和静态代码块 ~~~ ——> 构造块:在类体中直接使用{}括起来的代码块。 ~~~ ——> 每创建一个对象都会执行一次构造块。 ~~~ ——> 静态代码块:使用static关键字修饰的构造块。 ~~~ ——> 静态代码块随着类加载时执行一次。
二、编程代码
### --- 编程代码 /* 编程实现构造块和静态代码块的使用 */
public class BlockTest { // 当需要在执行构造方法体之前做一些准备工作时,则将准备工作的相关代码写在构造块中即可,比如:对成员变量进行的统一初始化操作 { System.out.println("构造块!"); // (2) } // 静态代码块会随着类的加载而准备就绪,会先于构造块执行 // 当需要在执行代码块之前随着类的加载做一些准备工作时,则编写代码到静态代码块中,比如:加载数据库的驱动包等 static { System.out.println("#####################静态代码块!"); // (1) } // 自定义构造方法 public BlockTest() { System.out.println("====构造方法体!"); // (3) } public static void main(String[] args) { BlockTest bt = new BlockTest(); BlockTest bt2 = new BlockTest(); } }
三、编译打印
### --- 编译 C:\Users\Administrator\Desktop>javac BlockTest.java
### --- 打印输出 C:\Users\Administrator\Desktop>java BlockTest #####################静态代码块! 构造块! ====构造方法体! 构造块! ====构造方法体!
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
来自为知笔记(Wiz)