Java Assert语句用法,考试认证1Z0-851

thi*_*goh 6 java

我正在研究1Z0-851 Oracla Java SE 1.6认证,我看到了这个问题:

来自测试的问题

我将第一个选项标记为正确的选项并失败了!"所有的断言都被恰当地使用了",答案说第一个assert(x > 0);是不正确的......问题是为什么?

小智 4

正确答案是这样的

断言的适当和不适当的使用

您可以在您预计不会正常到达的任何位置放置断言。断言可用于验证传递给私有方法的参数。但是,断言不应用于验证传递给公共方法的参数,因为无论是否启用断言,公共方法都必须检查其参数。但是,您可以在公共和非公共方法中使用断言来测试后置条件。此外,断言不应以任何方式改变程序的状态。

源代码: http: //www.freejavaguide.com/java-scjp-part1.pdf