测试类
public class PersonDemo2 { public void run(){ System.out.println("跑"); } public void eat(){ System.out.println("吃"); } } //--------------------------------------------- import org.junit.After; import org.junit.Before; import org.junit.Test; //做测试类 public class PersonDemo1 { private PersonDemo2 p2; //建对象 测试方法运行之前运行 @Before public void before(){ p2 = new PersonDemo2(); } //有Test标识的才会执行 @Test public void run(){ p2.run(); } public void eat(){ p2.eat(); } //释放资源 测试方法运行之后运行 @After public void after(){ p2 = null; } }
@AfterClass 测试类测试方法运行之后运行 类释放的时候运行
@BeforeClass 测试方法测试方法运行之前运行 类加载的时候运行,必须是静态的。
Assert.各种方法 断言
一些方法再运行时,它需要的数据不能是任意的,而必须是一定范围内的值,jdk5以后采用枚举解决
使用enum关键字定义一个枚举类。
一个枚举也可以有构造函数、字段和方法。
enum Grade{ //设定枚举值 A("100-90"),B("89-80"),C("79-70"),D("69-60"),E("59-0"); private String value; private Grade(String value){ this.value = value; } //获取枚举值 public String getValue(){ return this.value; } }
含有抽象方法的枚举类
enum Grade{ //创建枚举对象,并重写抽象的方法 A("100-90"){ public String getValue(){ return "优"; } } ,B("89-80"){ public String getValue(){ return "良"; } } ,C("79-70"){ public String getValue(){ return "一般"; } } ,D("69-60"){ public String getValue(){ return "及格"; } } ,E("59-0"){ public String getValue(){ return "不及格"; } }; private String value; private Grade(String value){ this.value = value; } //抽象方法 public abstract String getValue(); }
枚举类具有如下特性:
枚举类也是一种特殊形式的Java类;
枚举类中声明的每一个枚举值代表枚举类的一个实例对象;
与java的普通类一样,在声明枚举类时,也可以声明属性、方法和构造方法,但枚举类的构造函数必须为私有的
枚举类也可以实现接口、或继承抽象类;
JDK5中扩展了swith语句,除了接收int、byte、char、short外没害可以接收一个枚举值。
若枚举类只有一个枚举值,则可以当做单态设计模式使用。