本帖最后由 hp_ls 于 2012-12-12 18:29:24 编辑

解决方案 »

  1.   

    静态方法里不能调用非静态的。
    两种解决方法,
    1是:把int countGold(int x, int y){return x + y;}前加上static2:NEW一个Frodo的实例。。然后用这个实例来调用countGod(myGold, 6)
          
      

  2.   

    静态方式是在类加载的时候分配程序入口,而实例方法是在创建对象的时候分配入口,所以在静态方法里面调用实例方法时可能还没有分配入口,所以可能会造成无法调用该方法的情况,java不允许这样的调用。
      

  3.   

    静态方式是在类加载的时候分配程序入口,而实例方法是在创建对象的时候分配入口,所以在静态方法里面调用实例方法时可能还没有分配入口,所以可能会造成无法调用该方法的情况,java不允许这样的调用。
    楼上正解,楼主可以去看看马士兵的j2se基础,讲的超好的。
      

  4.   

    问题1 :
    这个问题以前我也不是很懂。
    是这样的:
    main是静态方法,静态方法不能访问非静态的属性和方法。以为static 是属于类,非static是属于对象的。
    如果static能访问非static,说明类能访问对象。这就矛盾了(因为此时不能确定要访问那个对象)。
    对象当然能访问类的。因为就知道类就只有那个(唯一的)。但是不推荐,因为本来是类的属性和方法,如果类 A访问,对别的类都影响(因为所有的类共享那个属性)
    问题2:
    没有什么不合法的,还有和LZ说下,第 5行下面,方法里面的参数应该是 int,没有Int。
    顺便再和 LZ说一下,去敲代码吧,做这种题。
    我以为是要面试专门做的题目。敲代码去。