java学习日志assertion(六)

断言(assertion)

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

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



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

  1. assert expression1;
  2. 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值