定義了一個Set後,我想把它初始化一下.
方法一. 利用了add函數, 如下:
public static void main(String[] args) {
Set testSet = new HashSet();
testSet.add("Monday");
testSet.add("Sunday");
System.out.println(testSet);
}
但是總覺得這樣是不是有點麻煩,其實我也就使用一次,還建立了一個對象,于是可以用下面的方法二
方法二.
System.out.println(new HashSet() { {
add("morning");
add("afternoon");
}});
這種初始化的方法,比第一種要簡單一些,利用的有兩個Java知識點,一個是匿名内部類,一個是執行個體初始化塊。
所謂匿名内部類也就是沒有名字的内部類,一般隻使用一次,并且必須要繼承一個父類或者實作一個接口。而匿名内部類的實作方式也就是當新建立一個父類對象時,後邊加一個大括号,即:
new HashMap(){};
當定義一個類的時候,一般會定義構造函數,有時候還會定義靜态函數和執行個體初始化塊,比如:
public class TestAnnoInnerClass {
TestAnnoInnerClass(){
System.out.println("