static InputStreamReader in;
static BufferedReader reader;
static
{
in=new InputStreamReader(System.in);
reader=new BufferedReader(in);
}
//这种声明的方式好像很特别啊?两条语句用static来声明,表示什么意思?

解决方案 »

  1.   

    static块可以提供类加载时需要初始化的东西,就是相当init()这种方法,初始化了static的变量
      

  2.   

    这个是一个static 模块。当这个class被载入的时候,模块也一起被载入
      

  3.   

    有时你希望定义一个类成员,使它的使用完全独立于该类的任何对象。通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static(静态的)就能创建这样的成员。如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为static。static 成员的最常见的例子是main( ) 。因为在程序开始执行时必须调用main() ,所以它被声明为static。
      

  4.   

       
        如果将上述代码放在类中,则表示变量in和变量reader的值在类创建后就已经赋值而不要创建对象就能使用他们,