Junit、枚举

测试类

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外没害可以接收一个枚举值。
    若枚举类只有一个枚举值,则可以当做单态设计模式使用。

原文地址:https://www.cnblogs.com/changzuidaerguai/p/6925068.html