我得到这个大致工作。为此...
对于文件ArrayStringLog.java
,我删除了,implements StringLogInterface
因为我根本无法访问该界面。这样做后,我删除了package ch02.stringLogs;
. package...
当我在仍然存在的情况下编译此文件时,我收到了错误:Exception in thread "main" java.lang.NoClassDefFoundError: ArrayStringLog (wrong name: ch02/stringLogs/ArrayStringLog)
然后在MyStringLog.java
,我删除了import ch02.stringLogs.*;
. 然后我保存并编译了代码,并运行了 TestDriver,我没有收到任何编译错误。
这使我相信您的错误源于package
.ArrayStringLog.java
为了最终获得编译,我将所有四个文件(ArrayStringLog、MyStringLog、StringLogInterface、TestDriver)放入同一个目录,删除所有package...
语句,添加回implements StringLogInterface
ArrayStringLog.java,编译每个文件,然后使用添加的toString
方法运行 TestDriver输出是:
Log: animals
1. dog
2. cat
这是测试驱动程序:
public class TestDriver {
public static void main(String[] args) {
MyStringLog animals = new MyStringLog("animals");
animals.insert("dog");
animals.insert("cat");
System.out.println(animals.toString());
}
}
为了清楚起见,ArrayStringLog 以:
public class ArrayStringLog implements StringLogInterface