《thinking in java 2nd》里的一道题,请大家帮忙看一下
//修改MouseList.java,使它继承ArrayList而非使用组合(composition)手法。
import java.util.*;
public class MouseList2 extends ArrayList{
public void add(Mouse m) {
super.add(m);
}
public Mouse 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(){
MouseList2 list = new MouseList2();
for(int i = 0; i < 3; i++)
list.add(new Mouse(i));
}
}
---------------------------------------------------------------------
编译错误提示:
D:\tools\jdk1.3\mycode\MouseList2.java:8: MouseList2中的get(int) 不能覆盖java.util.ArrayList中的get(int); 返回类型不兼容
发现:MouseList2.Mouse
需要:java.lang.Object
public Mouse get(int index) {
^
D:\tools\jdk1.3\mycode\MouseList2.java:28: 在静态上下文中不能引用非静态变量 this
list.add(new Mouse(i));
^
2 个错误
Tool completed with exit code 1D:\tools\jdk1.3\mycode\MouseList2.java:8: MouseList2中的get(int) 不能覆盖java.util.ArrayList中的get(int); 返回类型不兼容
发现:MouseList2.Mouse
需要:java.lang.Object
public Mouse get(int index) {
^
D:\tools\jdk1.3\mycode\MouseList2.java:28: 在静态上下文中不能引用非静态变量 this
list.add(new Mouse(i));
^
2 个错误
Tool completed with exit code 1
请问大家,我该怎么改啊