关于list的使用,为什么会报错?解决办法

关于list的使用,为什么会报错??
package tutorial.controller.service;
import java.util.ArrayList;
import java.util.List;
import jp.co.intra_mart.framework.base.service.RequestException;
/**
* 入力エラー発生時の例外情報を保持
*/
public class EmployeeInsertException extends RequestException {
private List<String> ErrMsg = null;
ErrMsg = new ArrayList<String>();
/**
* デフォルトコンストラクタ
*/
public EmployeeInsertException() {
super();
}
/**
* 例外情報を返却
* @return
*/
public List<String> getErrMsg() {
return ErrMsg;
}
/**
* 例外情報セット
* @param list
*/
public void setErrMsg(String msg) {
this.ErrMsg.add(msg);
}
}

.............................
这样写会报错:
private List<String> ErrMsg = null;
ErrMsg = new ArrayList<String>();
Multiple markers at this line
- Syntax error on token ";", , expected
- Watchpoint:EmployeeInsertException [access and modification] -
ErrMsg

这样写没有报错:
private List<String> ErrMsg = new ArrayList<String>();
为什么???求答案。。

------解决方案--------------------
private List<String> ErrMsg = new ArrayList<String>();

或者:
private List<String> ErrMsg = null;

构造函数,或者其它任意方法中写:
{
ErrMsg = new ArrayList<String>();
}
这样都没错。

你直接在一个类里面写程序语句肯定是不对的:
private List<String> ErrMsg = null;
ErrMsg = new ArrayList<String>();--> 这句话没办法运行,编译都不会通过的,应为它不属于任何方法
------解决方案--------------------
简单点:

public class Test{
String a = new String("1234");
}这样是对的,

public class Test{
String a = null;
a = new String("1234");
} 这样是不对的