日期:2014-05-20  浏览次数:21111 次

java编程思想中的例题,有些不懂
import com.bruceeckel.simpletest.*;

class Art {
Art() {
System.out.println("Art constructor");
}
}

class Drawing extends Art {
Drawing() {
System.out.println("Drawing constructor");
}
}

public class Cartoon extends Drawing {
private static Test monitor = new Test();
public Cartoon() {
System.out.println("Cartoon constructor");
}
public static void main(String[] args) {
Cartoon x = new Cartoon();
monitor.expect(new String[] {
"Art constructor"
"Drawing constructor"
"Cartoon constructor"
});
}
}




上面的private static Test monitor = new Test();还有
monitor.expect(new String[] {
"Art constructor"
"Drawing constructor"
"Cartoon constructor"
});
是什么意思?没看懂啊,我在java编程思想第三版p146中看到的,有谁懂吗?

------解决方案--------------------
预期的输出结果呗,
monitor测试类估计在前面的章节就用到过吧,仔细看看咯
------解决方案--------------------
估计你没看这个包里的东西:import com.bruceeckel.simpletest.*;里面的Test类
private static Test monitor = new Test(); //Test类对象作为Cartoon类的属性
//Test类中的expect()方法需要传递一个字符串数组
monitor.expect(new String[] {  //新建字符串数组,数组内容如下
                "Art constructor"
                "Drawing constructor"
                "Cartoon constructor"
        });
------解决方案--------------------
 private static Test monitor = new Test();是测试类,你在那边看下那个累里面的内容。expect()应该是Test的一个方法
------解决方案--------------------
将整个new String[]{...}作为一个参数传入到monitor对象的expect方法中。
这个expect是作者自己写的一个方法,不是java自带的。