脚本宝典收集整理的这篇文章主要介绍了

java学习笔记

脚本宝典小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助你少写一行代码,多一份安全和惬意。

static语句块

static{}(即static块),会在类被加载的时候执行且仅会被执行一次,一般用来初始化静态变量和调用静态方法. 在程序的执行过程中,static{}语句块中的内容只被执行一次

执行时机

static{}会在类被加载的时候执行, 具体一点来说:

  1. Class.forName()加载的时候

  2. 实例化一个类的时候

  3. 调用类的静态方法的时候

  4. 调用类的静态变量的时候

注意
一是调用类的静态常量的时候,是不会加载类的, 这是Java虚拟机的规定
二是用Class.forName()形式的时候,可以设定要不要加载类,如有一个类Test,
Class.forName("Test")改为 Class.forName("Test",false,StaticBlockTest.class.getClassLoader())
则Test不会被加载,static{}不会被执行

执行顺序

1、当一个类中有多个static{}的时候,按照static{}的定义顺序,从前往后执行
2、先执行完static{}语句块的内容,才会执行调用语句
3、如果静态变量在定义的时候就赋给了初值(如 static int X=100),那么赋值操作也是在类加载的时候完成的,并且当一个类中既有static{}又有static变量的时候,遵循“先定义先执行”的原则

关于"inner classes cannot have static declarations"

普通内部类不能有static的字段与方法, 但可以声明static final的常量

class StaticTest {     private class A1 {         private static final int a = 1;           // OK           private static final String b = "shit";   // OK           private static final Integer c = 1;       //Fail         private static final Object d = new Object();     //Fail           private static final String e = new String("bump");//Fail       }      private static class A2 {         private static final Object a2 = new Object();   // OK       }      }  

enum

JDK1.5开始提供enum特性, 能把相关的常量分组到一个枚举类型中,而且枚举提供了比常量更多的方法

public enum Color {     RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);     // 成员变量     private String name;     private int index;      // 构造方法, 注意是私有的     private Color(String name, int index) {         this.name = name;         this.index = index;     }      public String getName() {         return name;     }      public void setName(String name) {         this.name = name;     }      public int getIndex() {         return index;     }      public void setIndex(int index) {         this.index = index;     }  }         

由于所有的枚举都继承自java.lang.Enum类。由于Java 不支持多继承,所以枚举对象不能再继承其他类

参考:http://www.cnblogs.com/happyP...

总结

以上是脚本宝典为你收集整理的

java学习笔记

全部内容,希望文章能够帮你解决

java学习笔记

所遇到的程序开发问题,欢迎加入QQ群277859234一起讨论学习。如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典网站推荐给程序员好友。 本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。

80%的人都看过