public static Map allActivityType = new TreeMap() ;成员allActivityType应该有点争议,其他的声明没什么问题。java中的工具类一般都声明为单例模式,例如Runtime.getRuntime();按照这样一种方式,allActivityType应该是私有的,并且不是静态的,这样可以将allActivityType完全隐藏起来。public class ActivityType
{
private ActivityType()
{
allActivityType.put( new Integer( 1 ) , "开始节点" ) ; allActivityType.put( new Integer( 2 ) , "结束节点" ) ; allActivityType.put( new Integer( 3 ) , "活动节点" ) ; allActivityType.put( new Integer( 4 ) , "流程节点" ) ; } public static final int START_NODE = 1 ; public static final int END_NODE = 2 ; public static final int ACTIVITY_NODE = 3 ; public static final int PROCESS_NODE = 4 ; private Map allActivityType = new TreeMap() ; public static ActivityType getInstance() {
return allActivityType;
} public String getActivityType(int type) throws TypeNotFoundException{
...
}
}
public static ActivityType getInstance() {
return allActivityType;
}
这个函数无法使用
static的方法当然不能用
吧getInstance()改成不是static的就可以了
private Map allActivityType = new TreeMap() ;
改为
private static Map allActivityType = new TreeMap() ;
重写的。public class ActivityType
{
private static ActivityType instance = new ActivityType();
private ActivityType()
{
allActivityType.put( new Integer( 1 ) , "开始节点" ) ; allActivityType.put( new Integer( 2 ) , "结束节点" ) ; allActivityType.put( new Integer( 3 ) , "活动节点" ) ; allActivityType.put( new Integer( 4 ) , "流程节点" ) ; } public static final int START_NODE = 1 ; public static final int END_NODE = 2 ; public static final int ACTIVITY_NODE = 3 ; public static final int PROCESS_NODE = 4 ; private Map allActivityType = new TreeMap() ; public static ActivityType getInstance() {
return instance;
} public String getActivityType(int type) throws TypeNotFoundException{
...
}
}