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

我将第一个选项标记为正确的选项并失败了!"所有的断言都被恰当地使用了",答案说第一个assert(x > 0);是不正确的......问题是为什么?
小智 4
正确答案是这样的
断言的适当和不适当的使用
您可以在您预计不会正常到达的任何位置放置断言。断言可用于验证传递给私有方法的参数。但是,断言不应用于验证传递给公共方法的参数,因为无论是否启用断言,公共方法都必须检查其参数。但是,您可以在公共和非公共方法中使用断言来测试后置条件。此外,断言不应以任何方式改变程序的状态。
源代码: http: //www.freejavaguide.com/java-scjp-part1.pdf