public Object get(int index) {
    return super.get(index);
  }static class Mouse

解决方案 »

  1.   

    别忘了static main();编译能过,执行不行。
      

  2.   

    public static void main(String[] args){}注意参数
      

  3.   

    谢谢楼上几位!
    改完如下:import java.util.*;public class MouseList2 extends ArrayList{
      public void add(Mouse m) {
       super.add(m);
      }
      public Object get(int index) {
        return (Mouse)(super.get(index));
      }
      public int size() { return super.size(); }
      
      public class Mouse {
        private int mouseNumber;
        Mouse(int i) { mouseNumber = i; }
        // Override Object.toString():
        public String toString() {
          return "This is Mouse #" + mouseNumber;
        }
        public int getNumber() {
          return mouseNumber;
        }
      }  public static void main(String[] args){
       MouseList2 list = new MouseList2();
       for(int i = 0; i < 3; i++)
          list.add(new Mouse(i));
      }
    } 错误提示:
    D:\tools\jdk1.3\mycode\MouseList2.java:28: 在静态上下文中不能引用非静态变量 this 
          list.add(new Mouse(i));
                   ^
    1 个错误Tool completed with exit code 1不是太明白什么原因?
      

  4.   

    现在好了,改成static public class Mouse 就没事了,我再想想为什么,谢谢大家!
      

  5.   

    public static class Mouse{......}
    main是static静态方法引用的类也得要是静态方法,表示长久驻留类存。
      

  6.   

    我新建了一个包mylib,把Mouse.java至于其中,在编译MouseList.java时出错。具体如下://Mouse.java
    package mylib;public class Mouse {
      int mouseNumber;
      public Mouse(int i) { mouseNumber = i; }
      // Override Object.toString():
      public String toString() {
        return "This is Mouse #" + mouseNumber;
      }
      public int getNumber() {
        return mouseNumber;
      }
    } ///////////////////////////////////////////////////////////////////
    //MouseList.java
    import java.util.*;
    import mylib.*;         //为什么改为import mylib.Mouse;编译即可通过?public class MouseList extends ArrayList{
      public static void main(String[] args){
          MouseList list = new MouseList();
          for(int i = 0; i < 3; i++)
             list.add(new Mouse(i));
          for(int i = 0; i < list.size(); i++)
             System.out.println(list.get(i));
      }
    } ///////////////////////////////////////////////////////////////////
    编译错误消息:
    D:\tools\jdk1.3\mycode\MouseList.java:9: 不能解析符号
    符号:构造方法 Mouse  (int)
    位置:类 in Mouse
          list.add(new Mouse(i));
                   ^
    1 个错误Tool completed with exit code 1
    不知道为什么会出现这样的情况,请大家一起来探讨,谢谢