java NEW一个对象之后加入大括号

有两种情况:

1.初始化对象(匿名类):

Class1 model = new Class1(){ { //new 对象后的大括号内可以对公开的成员变量,以及属性赋值. Id=id, Title=name, Content=content, }};

举例:

public class Test {

	public static void main(String[] args) throws Exception {
        List<String> list = new ArrayList<String>() {
            {
                add("a");
                add("b");
            }
        };
	}
}

2.匿名内部类

Handler myHander = new Handler(){ //请问这里怎么解释呢? new一个对象之后 直接加上大括号

@Override

public void handleMessage(Message msg){

switch(msg.what){

case UPDATE_DATA:

tv.setText("正在更新来自线程的数据"+msg.arg1+"%........");

break;

case UPDATE_COMPLETED:

tv.setText("已完成来自线程的更新数据!!") ;

break;

}

};

经验分享 程序员 微信小程序 职场和发展