我看java的代码,看到有的时候经常会出现一句
enabled = "1".equals(xxxxx_func);   其中xxxx_func是一个函数。
有的时候会看到
enabled = "".equals(xxxxx_func);   其中xxxx_func是一个函数。
这个到底是什么意思。前边的""怎么解释,后边的.怎么解释。另外,我看有的class的写法,
public class xxxx{
   ....
   static {
       .....
   }
   ....
}
在static中的语句是什么意思,难道是在程序加载的时候就会运行吗,就是运行之前就会运行得代码吗?求教

解决方案 »

  1.   

    static静态块是在类被第一次加载的时候,执行的,用来初始化一样class中的static属性什么的
      

  2.   

    "" 是一个String类型
     String有一个静态方法
     equals(String)
    就这样, 很简单, 一般把常量放在前面
    "1111".equals(str)
    而不要
    str.equals("1111")
    防止空指针
      

  3.   

    "".equals() 字符串String类的基本方法
    多看看java基础吧 别上来就看代码
      

  4.   

    ""是个空串嘛
    static{}是静态代码区,类加载器把class加载的时候会执行
      

  5.   


        不好意思,请问一下,你指的加载是指被new的时候,还是在程序刚刚运行的时候。
      

  6.   

    new 是其中之一,
    还有其它的,比如 class.forname(XXX)
    比如XXX.方法()调static方法
      

  7.   

    也就是说,只要这个类中的任何一个函数或者属性被调用,那么就会加载这个类,那么就会初始化这个类中的所有static修饰用的东西。可以这样理解吗?
      

  8.   

    enabled = "".equals(xxxxx_func); 其中xxxx_func是一个函数。
    这个到底是什么意思。前边的""怎么解释,后边的.怎么解释。""的意思是一个String类型的变量,只不过他的值是为空的,但是他不等于null。意思就是一个空串。"".equals(xxxxx_func) 这说明xxxxx_func这个函数会返回一个String类型的方法,然后将他和""比较
    返回一个boolean类型的变量 最后赋值给enabled变量。static 标示该类或者变量是静态的,他会在该类第一次加载的时候,执行的该段代码。