在方法内部不能定义static静态的成员,静态成员只能是在类里定义,所以报错
super()是调用父类的构造方法

解决方案 »

  1.   

    void change(int x){
        static int y = 9;
        x = 5;
    }
    ?????????????????????
      

  2.   

    2.static int y = 9;这一句为什么会报语法错误?//method里面不允许使用修饰词,如public,static等等
    3.super();这句话有什么作用,写与不写有什么区别?//重构调用父类的构造方法,这里不写也没关系,因为她构造都时候就默认调用父类无参构造函数,如果没有无参构造函数,就调用默认构造函数
      

  3.   

    静态变量问题楼上的已经给你解决了
    改变变量y你可以把y作为私有变量。
    class Test {
     private int y;
     public void setY( int y){
       this.y = y;
     }
     public int getY(){
       return this.y;
     }
    这样就可以了吧。
    super()石调用父类的吴参数构造方法,如果父类的无参数构造方法什么也没有做的话
    那么你可以不用调用super(),如果做了某些设定,那么就要调用了。在你的类里面是不需要调用的。
    }
      

  4.   

    第一题中楼主的方法不能改变y的值,因为对于原始数据类型来说,参数传递给函数的只是它的值而已。个人觉得改为Integer也没什么用吧,关键是函数的作用域不能涉及到{}以外的内容吧。
      

  5.   

    1.y已定义。
    2.super();等于BaseTest();
      

  6.   

    晕,推荐楼主去读读:think in java,好书啊