国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java學習-枚舉

2019-11-06 06:58:15
字體:
來源:轉載
供稿:網友

枚舉,感覺搞的有點混亂,不太好理解。

要好使的話,最好還是按照最基礎的功能使用,不要搞什么嘰歪了。

否則得把人攪渾了去。

package mypackage;//在java中,枚舉其實也是一個類//所有的枚舉類型,都是Enum的子類,只是不需要顯示extends,就好比所有的類都是Object的子類一樣public enum Size{    //類中都是類的實例//    Small,//    Medium,//    Large,//并且,枚舉值之間還是只能使用逗號來分隔    /*MoreLarge;*//*,如果枚舉類中沒有定義其它的東西,只有枚舉,用逗號不會報錯;                                                但要定義其它的時候,就得用分號了,難道表示上邊是一條執行語句?                                                可Java不是說沒有逗號語句唄!*/        Small(1),    Medium(2),    Large(3);    //在枚舉類中可以定義實例域和方法、構造器    PRivate int m_iValue;    private/*public*/ Size(int i)//枚舉的構造器只能是private,其它的都會報錯    {//需要注意的是,一旦定義了構造器,則枚舉實例即(Small、Medium、Large)就必須使用構造器進行實例化,否則會報錯        //并且,這幾個實例還必須得要放在枚舉定義的開頭,以分號;結束,否則也會報錯,不明白這個語法是為了什么?        //既然是實例化,在哪不行,而且構造器還必須是private        m_iValue = i;    }    public int getValue()    {        return m_iValue;    }        }在實際應用的時候,最詭異了:

//        Size size = new Size();//枚舉是不可以用來實例化的,編譯器會報錯        System.out.println(Size.Large);//這個的結果和下邊toString的結果是一樣的,莫非是默認實現了?        System.out.println(Size.Large.toString());        System.out.println(Size.values());//values可以返回所有的枚舉,是個實例數組        //還可以設置枚舉的值,只不過是通過Enum的靜態方法        Size z = Enum.valueOf(Size.class, "Small");//這個就不是實例化了?        System.out.println(z);最不明白的就是,既然是類,不能實例化,但又可以有變量可以引用,這太詭異了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 句容市| 雅江县| 和静县| 铁岭市| 阜阳市| 融水| 汕头市| 绍兴县| 霍山县| 蕉岭县| 文山县| 武功县| 巴里| 辽阳市| 肥城市| 宿州市| 龙陵县| 抚宁县| 罗田县| 涞水县| 凤凰县| 天祝| 乌兰浩特市| 奉新县| 白朗县| 大安市| 临海市| 七台河市| 荔浦县| 健康| 临沧市| 横峰县| 铜川市| 当涂县| 巫溪县| 保定市| 原阳县| 株洲县| 瑞安市| 水富县| 文登市|