- package com.itheima;
- class StaticCode {
- static String country;
-
- static {
- country="China";
- System.out.println("static code isloading...");
- }
- }
- class StaticCodeDemo {
- static{
- System.out.println("StaticCodeDemo is loading.....");
- }
-
- public static void main(String[] args){
- System.out.println("begin excute main method....");
- new StaticCode();
- new StaticCode();
- /*
- 1、 类StaticCode中的静态代码块自动执行,尽管产生了StaticCode类的两个实例对象,但静态代码块只执行了一次。
- 这个例子也说明:一个程序中用到了其他的类时才会去加载那个类。因此可以得出,类在第一次被使用的时候才被装载,
- 而不是在程序启动时就装载所有可能用到的类。
- 2、当类被装载是,静态代码块被执行,且只执行一次,静态代码块经常用在类属性的初始化
-
- */
-
- int i=0;
- i++; //相当于i=i+1;
-
- int num=60;
- //num>>>1; 这个式子是一个表达式,内部没有做类似于num=num>>>1这样的动作.类似于i+1;
- }
- }
复制代码 |