Beetle.java:11: non-static variable j cannot be referenced from a static context    
Beetle.java:11: non-static method ss() cannot be referenced from a static context
还有这两句错误提示是指什么意思?

解决方案 »

  1.   

    static 的变量是存在堆栈中的,因为是个常量,不能动态的赋值。
    你:static int x1 = prt("static Intsect.x1 initialized");
    调用函数,当然是不对的。
      

  2.   

    好像没什么异常啊。不过 ss() 方法没看见在哪定义?
    上面那位老兄说 static 的量只是静态量 不是终极量 应该可以动态赋值
      

  3.   

    Beetle.java:11: non-static variable j cannot be referenced from a static context    
    j不是一个静态成员,不能在静态方法中引用。
    找不到ss()
    执行过程我要仔细看一下,下一帖回你。
      

  4.   

    程序1:从main()方法进入后,首先对静态成员分配空间,由于Beetle类继承了Insect类所以 static Intsect.x1 initialized
    static Beetle.x2 initialized
    然后执行main()方法中的第一条语句,因为prt()是静态方法,无须生成对象。
    Beetle constructor
    再执行main()中第二条语句,生成一个Beetle对象。由于Beetle类继承了Insect类,先对Insect域成员分配空间、初始化,再自动调用Insect类的无参构造方法。
    i=9, j=0
    对Beetle类域成员分配空间、初始化
    Beetle.k initialized
    最后调用Beetle()
    k=47
    j=39
    程序2好象写错了?Aa类应该有extends或implements什么类或接口吧。
      

  5.   

    呆鸟,你都两个星了还学什么呀?
    大家帮忙看看我的帖子吧!!!http://community.csdn.net/Expert/topic/3166/3166625.xml?temp=.8605921