java学习日志assertion(六)

断言(assertion)

assertion是一种经典的调试、测试方式.

在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个程序正确必须保证这个boolean表达式的值为true;如果该值为false,报错,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。

在语法上,为了支持assertion,Java增加了一个关键字assert。它包括两种表达式,分别如下:

    assert expression1;assert expression1: expression2;

在两种表达式中,expression1表示一个boolean表达式,expression2表示一个基本类型或者是一个对象(Object) ,基本类型包括boolean,char,double,float,int和long。由于所有类都为Object的子类,因此这个参数可以用于所有对象。

实例代码:

Base.java

import  java.lang.AssertionError;class Base{  public void baseMethod()  {    assert      false : "Assertion failed:This is base ";// 总是assertion失败    System.out.println("Base Method");  }}

Derived.java

import  java.lang.AssertionError;class Derived  extends Base{  public void derivedMethod()  {    assert false: "Assertion failed:This is derive";// 总是assertion失败    System.out.println( "Derived Method" );  }  public static void main( String[] args )  {    try    {      Derived derived = new Derived();            derived.derivedMethod();  derived.baseMethod(  );    }    catch( AssertionError ae )    {      System.out.println(ae);    }  }}

查看没有开启断言的情况:

javac Derived.java

java Derived

查看开启所有断言的情况java -ea Derived

查看仅开启Base的断言情况:

java -ea:Base Derived

只有一条路不能拒绝——那就是成长的路。

java学习日志assertion(六)

相关文章:

你感兴趣的文章:

标签云: