`

Java中assert和静态导入的使用

阅读更多

Java中assert和静态导入的使用

最近一直在做测试,发现了一些JDK 1.5中的一些新的语法特性,在开发的时候确实省了不少时间,在此做简要的记录:

assert的用法

assert expression1; assert expression1:expression2;
如果expression1为true,则不抛出错误,程序正常运行,expression2也不会执行。
如果expression1为false,则抛出异常,程序中断跳出,expression2执行。

一般来说,不要在expression1、expression2中使用函数的返回值;
不要将其使用在public函数中检查输入参数,但可以用于private函数中检测输入参数。

public class AssertFoo {

    public static void main(String args[]) {

        //断言1结果为true,则继续往下执行

        assert true;

        System.out.println("断言1没有问题,Go!");

 

        System.out.println("\n-----------------\n");

 

        //断言2结果为false,程序终止

        assert false : "断言失败,此表达式的信息将会在抛出异常的时候输出!";

        System.out.println("断言2没有问题,Go!");

    }

}

Assert主要是用在程序的调试中,不能因为有了assert而影响了程序的正常运行,相反,如果去掉assert机制后,程序应该可以实现正常的功能,通过一个简单的例子来说明如何使用assert。


Assert是在JDK 1.4中引入的新特性,编译的时候要使用java -source,执行的时候要使用java -ea。

在eclispse中执行的时候要配置run中的执行时所需要的参数,如图所示:

即在VM arguments中指定运行参数 -ea。

静态导入的使用

import static com.loojoy.assertdemo.StaticOperation.*;// 这是最重//要的

public class ClientConsole {

public static void main(String[] args) {

// assert 1 == 1;

// System.out.println("Finished");

println();

}

}

通常静态方法在使用的时候需要类名.属性名或这是方法名。但是使用了静态导入之后就可以直接使用方法,而不需要再使用类名做前缀了。Let's drink code,看代码是最好的学习方式。

public class StaticOperation {

public static void println(){

System.out.println("     这是一个静态导入方法 :) ");

}

}

在这里需要注意的就是静态方法的导入方式 import static 包名.类名.*,这种方式,否则会报错。

<!--EndFragment-->
分享到:
评论

相关推荐

    java中的关键字大全

    `import`用于导入类或包,以便在当前文件中使用。 ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); } } ``` ##### ...

    java关键字和java命名规范.pdf

    Java关键字和命名规范是Java编程语言中的基础概念,它们对于编写清晰、规范的代码至关重要。Java关键字是Java语言内置的、具有特殊用途的保留字,而命名规范则是关于如何给类、方法、变量等命名的约定。 ### Java...

    jdk1.5中文

    泛型是Java 5.0中的一个重大改进,允许在类、接口和方法中使用类型参数,增强了类型安全性和编译时检查。泛型可以防止在运行时出现ClassCastException,并简化了集合操作。 2. **自动装箱与拆箱(Autoboxing/...

    JAVA经典例子难得一见

    - `const`:保留关键字,尚未在 Java 中使用。 - `double`:双精度浮点型数据类型。 - `default`:用于 switch 语句中的默认分支。 - `do`:用于 do-while 循环。 - `extends`:用于继承。 - `final`:用于声明常量...

    hadoop-memory-filesystem:这是一个基于内存的 Hadoop 文件系统实现,用于测试在 Hadoop 环境中运行的代码

    导入静态 org.junit.Assert.assertNotNull; 导入静态 org.junit.Assert.assertThat; 导入静态 org.junit.Assert.assertTrue; 导入静态 org.junit.Assert.fail; 导入 java.io.BufferedReader; 导入 java.io....

    java代码规范

    - 尽量使用静态导入,如`import static java.lang.Math.PI;`。 - 按照包的顺序排序导入语句,如`java.*`、`javax.*`、`org.*`等。 6. **异常处理**: - 避免空的`catch`块,提供至少有意义的错误信息。 - 使用`...

    JAVA5新特性介绍[收集].pdf

    在集合框架中使用泛型,可以避免不必要的类型转换,并在编译时检测类型错误。例如,`List&lt;String&gt;` 定义了一个只能包含字符串的列表。 2. **枚举类型(Enums)** Java 5 引入了枚举类型,用于创建有限的常量集合。...

    java常用词汇汇总

    - **用途**:Java中的泛型允许在类、接口和方法中使用类型参数,从而实现类型安全的代码重用。 #### goto (保留字) 跳转 - **中文释义**:跳转 - **用途**:虽然`goto`是Java中的保留字,但实际上并未被用作关键字...

    JAVA资格认证:SCJP310-055中文

    静态导入使用`import static`,可以直接访问静态成员而不必前缀类名。 - **实现或继承一个或多个接口**: 一个类可以实现多个接口,使用`implements`关键字;也可以继承一个类,使用`extends`关键字。实现接口需要...

    藏经阁-阿里巴巴Java开发手册PDF1.1.0版(非最新版).pdf

    避免在公共API中使用`assert`等。 这些规约旨在提高代码的可读性、可维护性和团队协作效率,遵守这些规约能帮助开发者写出更高质量的Java代码,减少潜在的错误和后期维护的难度。对于阿里云而言,这样的规约能确保...

    JAVA常用英文

    在Java中,`abstract`关键字不能单独使用于变量、构造器或初始化块,仅能用于类和方法。 ### access 访问控制是Java中一个核心概念,通过`public`、`protected`、`private`和`default`(包级访问)来限定类、方法...

    JavaSE总结笔记,包含Java核心基础知识

    `throws`声明可能抛出的异常,`transient`忽略序列化,`try-catch-finally`处理异常,`void`表示无返回值的方法,`volatile`保证多线程下的可见性和有序性,`while`循环,`width`和`yield`不在Java中使用。...

    java资料面试题

    Java 中的关键字包括但不限于:abstract、assert、boolean、break、byte、case、catch、char、class、const、continue、default、do、double、else、enum、extends、final、finally、float、for、if、goto、...

    Java关键字的用法

    `import`关键字用于导入其他包中的类或接口,使得可以在当前类中使用它们。 **示例:** ```java import java.util.ArrayList; public class MyClass { public static void main(String[] args) { ArrayList...

    java基础学习词汇

    泛型是Java5引入的新特性,它允许在类、接口和方法中使用类型参数,从而编写出更加灵活且类型安全的代码。泛型可以显著减少代码重复,并提高代码的可读性和可维护性。 #### Goto (跳转) 尽管Java不支持传统的`goto...

    java 关键字查询文档

    Java 共有 50 多个关键字,它们包括但不限于 `abstract`、`assert`、`boolean`、`break`、`byte`、`case`、`catch`、`char`、`class`、`const`(虽然未使用)、`continue`、`default`、`do`、`double`、`else`、`...

    JAVA所有关键字的含义

    在Java编程语言中,关键字是具有特殊含义的保留词汇,它们是编程语法的重要组成部分,用于定义程序结构和控制流程。了解这些关键字的含义对于编写有效的Java代码至关重要。下面,我们将详细探讨Java中的所有关键字...

    java私塾学习笔记整理

    如何在程序中使用它们** 通过`System.setProperty()`方法设置系统属性,使用`System.getProperty()`获取系统属性。 **七、简述properties文件的结构和基本用法** .properties文件通常用于存储配置信息,每一行...

    junit-4.12和hamcrest-core-1.3的jar包

    在这个例子中,我们导入了JUnit的Assert静态类和@Test注解。`testExample`方法标记为一个测试用例,其中使用了Hamcrest的`assertEquals`方法来进行断言。当运行这个测试类,Eclipse会自动执行所有的测试方法,并显示...

Global site tag (gtag.js) - Google Analytics