Java面向物件-列舉的定義和特點以及底層分析
列舉是從Java5開始提供的一種新的資料型別,是一個特殊的類,就是固定的多個常量物件
定義格式:
[修飾符] enum 列舉類名
{
常量A,常量B,常量C;
}
我們自定義的列舉型別,在編譯後(底層),都是直接繼承於java.lang.Enum類的。
列舉類的特點
1、列舉的直接父類是java.lang.Enum,但是不能顯示的繼承Enum
2、列舉就相當於一個類,可以定義構造方法、成員變數、普通方法和抽象方法
3、預設私有的構造方法,即使不寫訪問許可權也是private
。(假構造器,底層沒有無引數的構造器)
4、每個例項分別用於一個全域性常量表示,列舉型別的物件是固定的,例項個數有限,不能使用new關鍵字。
5、列舉例項必須位於列舉中最開始部分,列舉例項列表的後面要有分號月其他成員相分隔
6、列舉例項後有花括號時,該例項是列舉的匿名內部類物件
相關推薦
Java面向物件-列舉的定義和特點以及底層分析
列舉是從Java5開始提供的一種新的資料型別,是一個特殊的類,就是固定的多個常量物件 定義格式: [修飾符] enum 列舉類名 { 常量A,常量B,常量C; } 我們自定義的列舉型別,在編譯後(底層),都是直接繼承於java.lang.En
Java面向物件程式設計之類和物件
Java程式語言是一種面向物件的程式語言,其特性在於高度的抽象性。那麼,什麼是面向物件呢?面向物件和麵向過程有什麼區別呢?萬物可歸類,什麼是類呢?萬物皆物件,類和物件之間的聯絡是什麼?Java程式的執行需要jvm(Java虛擬機器)的支援,那麼,面向物件程式設計在計算機中怎麼進行記憶體分析;
Java面向物件——類定義及使用
先看看一個簡單例子: package Hello; /** * 類名必須與檔名一致 * @author Huke * */ public class Person { String nam
Java 面向物件之繼承和重寫OverWrite,重寫和過載的區別,抽象類
01繼承的概述 A:繼承的概念 a:繼承描述的是事物之間的所屬關係,通過繼承可以使多種事物之間形成一種關係體系 b:在Java中,類的繼承是指在一個現有類的基礎上去構建一個新的類,構建出來的新類被稱作子類,現有類被稱作父類 B:繼承關係的子類特點 a:子類會自動擁有父
Java面向物件-類成員和例項成員的訪問
類中的成員:欄位、方法、內部類 類成員:使用static修飾的成員 例項成員:沒有使用static修飾是成員。 類成員只能訪問類成員,例項成員只能訪問例項成員。 類成員,直接屬於類,可以通過類來訪問static欄位和static方法; 例項成員,只屬於
Java面向物件-final類和final方法、final變數(常量)
為什麼得需要使用final修飾符 繼承關係最大的弊端是破壞封裝:子類能訪問父類的實現細節,而且可以通過方法覆蓋的形式修改實現細節。 final本身的含義是“最終的,不可改變的”,它可以修飾抽象類,非抽象方法和變數。 注意:構造方法不能使用final修飾,因
java:面向物件(學生和老師類的繼承練習)
package Day08; public class Demo8_Person { public static void main(String[]args){ Studen
Java面向物件4——package和import語句
1 package和import語句 為便於管理大型軟體系統中數目眾多的類,解決類的命名衝突問題,Java引入包(package)機制,提供類的多重類名稱空間。 package語句作為Java原始檔的第一條語句,指明該檔案中定義的類所在的
Java面向物件7——toString和equals
1 Object類 Object類是所有Java類的根基類,如果在類的生命中未使用extends關鍵字指明其基類,則預設基類為Object類 public class Person{ } 等價於 public class Per
Java面向物件-介面的定義和介面的成員
Java中的介面 專家說:多個抽象類的抽象就是“介面”。 說人話:在Java中最小的程式單元就是類,介面其實是一個特殊的類。Java中的介面表示規範,用於定義一組抽象方法,表示某一類事物必須具備的功能,要求實現類必須來實現該介面並提供方法實現。 定義類的語
Java面向物件和方法
Java 方法 那麼什麼是方法呢? Java方法是語句的集合,它們在一起執行一個功能。 方法是解決一類問題的步驟的有序組合 方法包含於類或物件中 方法在程式中被建立,在其他地方被引用 方法的優點 1. 使程式變得更簡
Java面向物件----String物件的宣告和建立
String a="abcd" 相等 String b="abcd" String a=new String("abcd") 不等於 String b=new String("abcd")
java面向物件程式設計以及陣列理解
一、語言的進化史 在計算機語言發展的早期,由於cpu和記憶體的限制,導致說發展很慢。後來由於硬體裝置的革命(即cpu價格的下跌和記憶體數量和容量的上升,記憶體的價格的下跌)和資金的推動(資本家為了提高勞動生產率和剩餘價值),計算機語言開始了高速的進化,從一開始的基本型別到結
JAVA面向物件三大特性以及抽象類、介面
初識JAVA面向物件 提起面向物件,我們也就想到了面向過程。那麼何為面向物件呢?簡言之萬物皆物件…眾生芸芸,雲裡霧裡不能自已。 好了,步入正題,面向物件是JAVA這門語言的核心所在。要想使用這門語言在猿界立足,一定得要有面向物件的這種程式設計思想。 一、面向物件
java面向物件-包和許可權修飾符
1.包和許可權修飾符 1.1包的概述 java的包,其實就是我們電腦系統中的資料夾,包裡存放的是類檔案。 1.2包的宣告格式 通常使用公司網址反寫,可以有多層包,包名採用全
5本最佳的Java面向物件理論和設計模式的書籍
對於Java程式設計師來說,掌握面向物件的設計理論和一些設計模式是必備技能。就像我在另一篇部落格Java程式設計師應該知道的10個面向物件理論中提到的,不學理論就開始程式設計,就類似於學習一種語言而不學習字母表。市面上有很多有關面向物件理論的、設計模式的和最佳實踐的,但只有很
類比JS面向物件和JAVA面向物件的設計思想
(個人理解,如有誤導請指正) 我們都知道JS面向物件是採用原型鏈的方式設計的,JAVA是採用正統的面向物件的思想設計的,通過我的類比分析,我得出一個結論,它們之間本質上是沒有區別的。 先講一講面向物件的特點: 封裝和繼承和多型。 封裝: 最原始的結構化程式設計理念是 “資料結構+操作
java面向物件(類與物件,區域性變數成員變數,基本型別和引用型別作為引數傳遞)
一.類和物件的區別 類是對某一類事物的抽象描述,而物件用於表示現實中該類事物的個體 可以將玩具模型看作是一個類,將一個個玩具看作物件,從玩具模型和玩具之間的關係便可以看出類與物件之間的關係。類用於描述多個物件的共同特徵,它是物件的模板。物件用於描述現實中的個體,它是類的例項 二.區域性變數和成員變數
java:面向物件(抽象類的成員特點)
/* *A:抽象類的成員特點: * a:成員變數:既可以是變數,也可以是常量。abstract是否可以修飾成員變數?不能修飾成員變數 * b:構造方法:有 * 用於子類訪問父類資料的初始化 * c:
Java面向物件主要知識點總結以及簡單專案心得
1. 面向物件 java是一種面向物件的語言。也就是說,這種程式設計,把現實中的所有的問題都當做一個個物件來解決,每個物件都有其獨立的屬性和方法,每個物件之間具有一定的聯絡,在面向物件設計程