package com.liyu.test;public class Test {
static{
System.out.println("static");
}
public static void main(String []args){
System.out.println("main");
}
}
希望能帮助到某些人……

解决方案 »

  1.   

    啥意思?考static执行优先级?
      

  2.   


        static{
            System.out.println("static");
        }这段是静态初始代码块,在类加载的时候运行一次。
    若把上述代码改为:public class Test {
    {
    System.out.println("static");
    } public static void main(String[] args) {
    new Test();
    System.out.println("main");
    new Test();
    }
    }执行结果为:
    static
    main
    static非静态初始代码块,在构造对象的时候运行. 在构造对象的初始化属性时, 同时会运行类的初始代码块。main是一个静态方法,是java执行程序的一个入口。
    还有其他什么特别的吗?
      

  3.   


    难道没发现这个static有点类似构造函数功能吗,没发现是程序启动就执行么,而且仅执行一次,你们怎么会认为这种功能用不到?
    原因很简单,就是平时自己没这么用过
    想啊,这种需求不会少啊,当然你完全可以用其他的代码来代替,不过当你这些东西都很通的时候,自己运用灵活自如多好!
      

  4.   

    和构造函数是有区别的
    如Test a = new Test() ;
    Test b = new Test() ;
    会调两次构造方法
    而 static  永远只调一次
      

  5.   

    面试经常考!一般考的都不止这个!
    以前笔试有类似这样的一道public class Test {
    public Test (){
    System.out.println("test...");
    }
    static { 
    System.out.println("static");
     } 
    public static void main(String[] args) {
     System.out.println("main"); 
     new Test();
     }
     }
    够BT吧,不给你运行的工具,我看你是有点难做出来吧