<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            java語言

            Java為什么要枚舉

            時間:2025-05-08 19:50:57 java語言 我要投稿
            • 相關推薦

            Java為什么要枚舉

              導語:每個元素分別用一個公有的靜態成員變量表示,再組合成類,下面是關于Java語言枚舉的原因,歡迎參考!

              問題:要定義星期幾或性別的變量,該怎么定義?假設用1-7分別表示星期一到星期日,

              但有人可能會寫成int weekday = 0;或即使使用常量方式也無法阻止意外。

              枚舉就是要讓某個類型的變量的取值只能為若干個固定值中的一個,否則,編譯器就會報錯。

              枚舉可以讓編譯器在編譯時就可以控制源程序中填寫的非法值,

              普通變量的方式在開發階段無法實現這一目標。

              **用普通類如何實現枚舉的功能?定義一個Weekday類來模擬實現:

              步驟:

              *私有化構造方法

              *每個元素分別用一個公有的靜態成員變量表示(public static final)

              *可以有若干公有方法或抽象方法。采用抽象方法定義nextDay就將大量的if.else語句

              轉移成了一個個獨立的類。

              **枚舉的應用:

              舉例:定義一個Weekday的枚舉。

              擴展:枚舉類的values,valueOf,name,toString,ordinal等方法

              (記住,講課時要先于自定義方法前介紹,講課更流暢)

              總結:枚舉是一種特殊的類,其中的每個元素都是該類的一個實例對象。

              例如可以調用WeekDay.SUN.getClass().getName和WeekDay.class.getName()。

              **枚舉的高級應用:

              **枚舉就相當于一個類,其中也可以定義構造方法、成員變量、普通方法和抽象方法。

              **枚舉元素必須位于枚舉體中的最開始部分,枚舉元素列表的后要有分號與其他成員分隔。

              把枚舉中的成員方法或變量等放在枚舉元素的前面,編譯器報告錯誤。

              **帶構造方法的枚舉

              構造方法必須定義成私有的

              如果有多個構造方法,該如何選擇哪個構造方法?

              枚舉元素MON和MON()的效果一樣,都是調用默認的構造方法。

              **帶方法的枚舉

              定義枚舉TrafficLamp

              實現普通的next方法

              實現抽象的next方法:每個元素分別是由枚舉類的子類來生成的實例對象,

              這些子類采用類似內部類的方式進行定義。增加上表示時間的構造方法

              **枚舉只有一個成員時,就可以作為一種單例的實現方式。


            【Java為什么要枚舉】相關文章:

            使用Java的枚舉類型的方法03-14

            詳解Java枚舉類型enum及其使用01-06

            Java中的String為什么是不可變的07-10

            為什么要學習PHP?11-30

            C語言的枚舉類型知識07-22

            為什么要考CPA08-14

            為什么要重裝系統05-27

            為什么要學英語寫作05-16

            為什么要學網頁設計06-17

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院