版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
對象與類ObjectsandClasses第六章目標/OBJECTIVE0102030405理解面向?qū)ο缶幊痰幕靖拍钫莆疹惖穆暶髋c使用學會使用構造方法了解封裝的概念掌握繼承和多態(tài)學會使用抽象類和接口01對象和類的初步介紹6.1對象和類的初步介紹當談論Java編程語言中的對象與類時,進入了面向?qū)ο缶幊蹋∣bject-OrientedProgramming,簡稱OOP)的精華部分。對象與類是OOP的基本概念,賦予了Java語言強大的抽象能力和靈活性,使得程序設計變得更加模塊化、可維護和可擴展。·面向?qū)ο蠹夹g一.使用面向?qū)ο蠹夹g的原因在面向?qū)ο缶幊坛霈F(xiàn)之前,編程流行的還是面對過程的設計方式。當使用面向過程的設計方式的時候,編寫的代碼缺乏良好的抽象機制,可重用性和靈活性差,這樣的話不利于團隊協(xié)作。并且當程序的規(guī)模擴展的時候,需要修改很多的代碼,導致維護困難。隨著開發(fā)系統(tǒng)的不斷強大,面向過程的設計方法已經(jīng)不能滿足使用者的要求,這時,面向?qū)ο蟮募夹g橫空出世。OOP技術的出現(xiàn),使程序的結構變得簡單,團隊協(xié)作容易,最重要的是,代碼的可重用性和靈活性大大提高。6.1對象和類的初步介紹OOP是一種軟件開發(fā)的編程范式或方法論。其核心思想是使用對象和類的概念來組織和設計代碼,來模擬現(xiàn)實世界中的實體和其相互之間的關系。OOP包含的主要概念有:類、對象、封裝、繼承、多態(tài)、抽象、接口、實例化。二.面向?qū)ο蟮母拍睢ο蠛皖惖亩x一.類的定義在面向?qū)ο缶幊讨?,類是一種用于描述對象共同特征和行為的抽象數(shù)據(jù)類型。類是對一類對象的模板或藍圖,定義了對象的屬性(也稱為成員變量或字段)和方法。通過實例化,可以基于類創(chuàng)建具體的對象。類通常包含以下元素:類名、成員變量、構造方法、方法。類定義含有兩部分:數(shù)據(jù)成員變量和成員方法。其中,class是關鍵字,表明后面定義的是一個類。class前面的修飾符可以有多個,用來限制定義的類的使用方式。類名就是用戶給這個類起的名字,必須是一個合法的標識符,并且應盡量遵從命名約定。6.1對象和類的初步介紹類定義中的數(shù)據(jù)成員變量,可以不止一個。變量名前面的數(shù)據(jù)類型就是給變量的類型;然后另外的方法可以有很多個,方法名前面的返回類型就是方法返回值的類型,然后下面的方法體就是方法需要執(zhí)行的語句。二.對象的定義在Java編程中,對象是類的實例,是具體存在的數(shù)據(jù)實體。對象具有特定的屬性和行為。對象是面向?qū)ο缶幊讨械幕靖拍钪唬庋b了數(shù)據(jù)和行為,是代碼更具有靈活性和可維護性。對象的定義需要包括以下關鍵點:(1)類與實例:對象是通過類定義的,是類的具體實體。(2)屬性(成員變量):對象具有一組屬性,這些屬性描述了對象的特征。(3)行為(成員方法):對象能夠執(zhí)行特定的操作,這些操作由類中的成員方法定義。(4)狀態(tài):對象的狀態(tài)由成員變量的當前值決定。其反映了對象在某時刻的屬性值。6.1對象和類的初步介紹(5)封裝:對象封裝了數(shù)據(jù)和行為,限制了對內(nèi)部的直接訪問,需要通過公共接口提供對象的訪問。(6)實例化:實例化是根據(jù)類創(chuàng)建對象的過程。通過關鍵字new可實例化一個類,為對象分配內(nèi)存,并調(diào)用構造方法進行初始化。02類的基本結構6.2類的基本結構聲明類類的聲明指定義一個類的基本結構。其中,類的聲明包括類的訪問修飾符、類名、以及包含在大括號內(nèi)的類體。下面就是類聲明的一般格式:類的基本結構包括了三個部分:類的聲明、成員變量和成員方法、構造方法。這只是基本結構,在實際應用中可能需要根據(jù)具體需求進行調(diào)整和擴展。6.2類的基本結構一.訪問修飾符訪問修飾符是用于控制類的訪問級別。常見的修飾符用:pubilc(公共)、private(私有)、protected(受保護)以及默認修飾符(無修飾符)。pubilc修飾符創(chuàng)建的類對所有的類可見,protected修飾符創(chuàng)建的類對同一包內(nèi)的類和所有子類可見,private修飾符創(chuàng)建的類在同一類可見。二.類名對于類的取名,有一些注意事項需要知道。1.標識符規(guī)則:(1)由字母、數(shù)字、下劃線和美元符號組成。(2)第一個字符必須是字母、下劃線或美元符號。(3)不能是Java關鍵字。2.用名規(guī)范:遵循Java的命名規(guī)則,類名應該使用駝峰命名法,即每個單詞的首字母大寫,其余的小寫。6.2類的基本結構3.清晰和描述性:類名應該是清晰和描述性的,能夠準確地反應類的用途和職責,這樣可以增強代碼的可讀性和可維護性。4.避免縮寫:盡量避免使用縮寫,除非縮寫是廣泛認可的或是行業(yè)標準?!こ蓡T變量和成員方法一.成員變量成員變量是類中用于描述對象狀態(tài)的變量。有時也被稱為屬性或字段。成員變量定義了對象的特征。每個類的對象都有一組獨立的成員變量,這些變量的值可以在類的各個方法中使用和修改。成員變量通常在類的頂部聲明,也就是在類的大括號之內(nèi),方法之外。并且,成員變量可以使用訪問修飾符來控制成員變量的訪問級別。在成員變量創(chuàng)建完成時,系統(tǒng)會給成員變量賦予默認值,例如int類型默認值是0。成員變量的生命周期與對象的聲明周期相同,存在于對象被創(chuàng)建時,并在對象被銷毀是銷毀。成員變量可以分為實例變量和類變量。實例變量屬于對象,類變量屬于類。6.2類的基本結構成員方法是類中定義的用于執(zhí)行特定操作或者提供特定功能的函數(shù),也被稱為方法或函數(shù)。成員方法用于表示對象的行為,可以操縱成員變量,并提供外部訪問對象的接口。成員方法被聲明在類的內(nèi)部,即在類的大括號之內(nèi)。成員方法可以有返回值,使用void表示。返回值的類型可以是任何合法的Java數(shù)據(jù)類型,還可以有用訪問修飾符來控制訪問級別。成員變量是可以接受參數(shù)的,參數(shù)列表定義在方法名后面的括號之中。二.成員方法·構造方法構造方法是類中一類特殊類型的方法,用于創(chuàng)建對象時進行初始化。構造方法的名稱必須與類名相同,沒有返回類型,并在使用new創(chuàng)建對象的時候自動調(diào)用。在一個類中,可以有多個構造方法。只要參數(shù)類型不同。6.2類的基本結構例6.1寵物店需要統(tǒng)計這些狗狗的各種特點,比如品種、大小、年齡、顏色等等。請編寫一個程序?qū)崿F(xiàn)對類的創(chuàng)建,并在類中添加需要的屬性。03對象的創(chuàng)建和使用6.3
對象的創(chuàng)建和使用對象的創(chuàng)建和使用是面對對象編程中的核心概念。通過類的實例化,可以創(chuàng)建具體的對象,并通過調(diào)用對象的方法和訪問器屬性來實現(xiàn)程序的邏輯。對象的使用使得程序更模塊化、可維護、同時提供了一種自然而直觀的方式來處理復雜系統(tǒng)。對象的創(chuàng)建是通過實例化類來實現(xiàn)的。類定義了對象的屬性和方法,實例化指基于類創(chuàng)建一個具體的對象的過程。可以使用new關鍵字來創(chuàng)建一個新的對象,后面跟著要實例化的構造函數(shù)。在這個過程中會有堆內(nèi)存中為對象分配空間,并返回對該空間的引用。當使用的類有參數(shù)化的構造函數(shù),可以在創(chuàng)建對象時傳遞參數(shù)。創(chuàng)建對象的一般格式如圖6-3.創(chuàng)建對象6.3
對象的創(chuàng)建和使用注:ClassName是要實例化的類的名稱,objectName是引用新創(chuàng)建對象的變量名,arguments是傳遞給類構造方法的函數(shù),用于初始化對象的屬性。訪問成員變量和調(diào)用成員方法是面向?qū)ο缶幊讨械幕靖拍?,通常使用在類和對象的上下文中。訪問成員變量和調(diào)用成員方法一.訪問成員變量通過訪問成員變量,能夠獲取和修改對象的屬性,首先對數(shù)據(jù)的有效管理。訪問成員變量的方法取決于變量的訪問修飾符。通常,成員變量被聲明為私有,并通過公共方法類提供訪問??梢灾苯釉L問公共成員變量。當成員變量的訪問修飾符是公共(public),就可以直接通過實例對象來訪問。但是,為了更好的控制成員變量,一般會被聲明為私有(private)。這時就不能用上面的方法來訪問成員變量,就可以使用Getter和Setter方法提供間接訪問。6.3
對象的創(chuàng)建和使用還可以使用封裝將對象的內(nèi)部隱藏起來,這樣的話,可以更靈活的控制和保護成員變量。另外,當成員變量是靜態(tài)的,可以通過類名之直接訪問,無需創(chuàng)建類的實例。訪問成員變量的一般格式如下圖。二.調(diào)用成員方法調(diào)用成員方法是面向?qū)ο缶幊讨械囊豁椈静僮?,用于?zhí)行對象所具有的特定功能的行為。想要調(diào)用成員方法,需要使用對象實例并通過點運算符.來調(diào)用方法。語法通常是“對象實例.方法名()”。在方法內(nèi)部,可以使用this關鍵字引用當前對象實例。當調(diào)用成員方法時,程序會執(zhí)行與方法中的代碼塊。調(diào)用成員方法的一般格式如下圖。6.3
對象的創(chuàng)建和使用注:methodName是成員變量的名稱,arguments是傳遞給方法的參數(shù)。一.引用變量對象引用是用于訪問和操作對象的一種機制,是指用于便是和操作對象的一種變量或值。創(chuàng)建完對象后,就可以對對象進行引用,幾乎所有的數(shù)據(jù)類型都是引用類型。基本數(shù)據(jù)類型是值類型,但是可以被包裝成對應的引用類型?!ο笠靡米兞渴且环N特殊類型的變量,用于儲存對象的引用,而不是對象本身。引用變量紅充當指針的角色,指向堆內(nèi)存中儲存的實際對象。這種設計提供了靈活性和對象的動態(tài)性,允許在運行的時候創(chuàng)建和銷毀對象。6.3
對象的創(chuàng)建和使用多個引用變量可以指向同一個對象。這意味著對一個引用變量所做的更改會影響到其他的引用變量引用的同一個對象。引用變量可以唄賦值為null值,表示不引用任何對象。Java是具有垃圾回收機制的,負責自動釋放不在唄引用的對象的內(nèi)存。當沒有任何引用指向一個對象是,該對象就成為補課訪問的,最終會被垃圾回收器回收。引用變量的一般格式如下圖。6.3
對象的創(chuàng)建和使用例6.2超群是一位圖書管理員。由于圖書管中的書籍比較多,為了方便管理,想到可以將這些書籍的信息放在一個空間里面。請編寫一個程序來創(chuàng)建一個類和對象,將書籍的信息放在對象里面。6.3
對象的創(chuàng)建和使用Java中,每個基本數(shù)據(jù)類型都有對應的包裝類,用于將基本數(shù)據(jù)類型包裝成引用類型。這些包裝類提供了一些額外的方法和功能,同時也允許在需要引用類型的場合使用基本數(shù)據(jù)類型。下面是基本數(shù)據(jù)類型及其對應的包裝類。1.整形:基本數(shù)據(jù)類型int;包裝類Integer。2.長整型:基本數(shù)據(jù)類型long;包裝類Long。3.浮點型:基本數(shù)據(jù)類型float;包裝類Float。4.雙精度浮點型:基本數(shù)據(jù)類型double;包裝類Double。5.字符型:基本數(shù)據(jù)類型char;包裝類Character。6.布爾型:基本數(shù)據(jù)類型boolean;包裝類Boolean。這些包裝類提供了豐富的方法,例如將字符串轉(zhuǎn)換為對應類型的值、將字符串轉(zhuǎn)換為基本數(shù)據(jù)類型等。隨著Java的不斷發(fā)展,Java引入了自動裝箱(autoboxing)和拆箱(unboxing)的特性,使得基本數(shù)據(jù)類型和其對應的包裝類之間的轉(zhuǎn)換更加方便。系統(tǒng)會自動的將基本數(shù)據(jù)類型和對應的包裝類進行轉(zhuǎn)換。二.引用類型04封裝6.4
封裝訪問修飾符封裝是面對對象編程中一項重要概念,指的是將一個類的實現(xiàn)細節(jié)隱藏起來,只向外界提供訪問和操作的接口。在Java中,封裝通過訪問修飾符和方法來實現(xiàn)。訪問修飾符用于控制類、接口、成員變量和方法的訪問權限。Java提供了四種修飾符,分別是:private、default、protected、public。1.private(私有的):修飾符表示的最小的訪問權限。被其修飾的成員只能在聲明其內(nèi)部訪問,其他任何類都不能直接訪問。2.default(默認,無修飾符):當沒有使用任何訪問修飾符時,成員的訪問權限為包級別,即在同一個包內(nèi)可見,蛋仔其他包中不可見。3.protected(受保護的):被protected修飾的成員可以在同一個包內(nèi)以及其子類中訪問,但在其他包中不可訪問。4.public(公共的):被public修飾的成員可以被任何類訪問,無論是同一個包內(nèi)還是其他包中。6.4
封裝封裝的優(yōu)勢這些訪問修飾符可以用于類的聲明、成員變量、方法以及構造方法。選擇適當?shù)脑L問修飾符可以幫助控制代碼的可見性,從而提高代碼的封裝性和安全性。訪問修飾符一般的使用格式如下圖封裝是面向?qū)ο缶幊痰囊粋€基本原則,通過類的封裝,可以帶來多方面的優(yōu)勢:一.信息隱藏:封裝允許將對象的內(nèi)部細節(jié)隱藏起來,只暴露必要的接口給外部。在Java中,通過使用私有修飾符,可以限成員變量和方法的訪問權限,從而實現(xiàn)信息的隱藏。這有助于提高代碼的安全性和可維護性。6.4
封裝二.模塊化和組織性:封裝有助于將代碼組織成模塊化的單元。類的封裝使得代碼更易于理解和維護,每個類都扮演著特定的角色,有特定的職責。三.代碼復用:封裝可以促進代碼的復用。通過創(chuàng)建具有獨立功能的類,這些類可以在不同的應用程序種重復使用,從而減少了代碼的冗余。四.抽象和多態(tài):封裝支持抽象概念的建模。通過定義抽象類和接口,可以實現(xiàn)多態(tài)性,使得代碼更加靈活和可拓展。五.隔離變化:類的封裝有助于隔離變化。當類的內(nèi)部實現(xiàn)發(fā)生變化時,只需要修改類的內(nèi)部,而不會影響其他使用該類的代碼。這提高了代碼的可維護性和靈活性。6.4
封裝getter和setter方法在Java中,Getter和Setter方法是用于訪問和修改對象的私有字段(成員變量)的一種常見約定。這兩種方法允許通過類的公共接口訪問和修改對象的狀態(tài),同時保持對對象內(nèi)部實現(xiàn)的封裝。Getter和Setter的使用如下圖。05繼承6.5
繼承基類與派生類繼承是面向?qū)ο缶幊痰闹匾拍钪?。通過繼承,一個類可以使用另一個類的屬性和方法,從而實現(xiàn)代碼的重用和擴展。在Java中,繼承可以通過使用extends關鍵字來實現(xiàn)。除此之外,還需要了解super關鍵字。基類與派生類是面向?qū)ο缶幊讨械膬蓚€關鍵概念,這兩個類構成繼承關系。 基類也稱為父類、超類,是其他類的起點,包含一組通用的屬性和方法。這些屬性和方法可以被其他類繼承和重用?;惖淖饔糜刑峁┩ㄓ玫膶傩院头椒?,供多個派生類共享;做為派生類的模版,減少代碼的重復;構建繼承層次結構,使代碼更有層次感、可拓展性和可維護性。一般使用class關鍵字定義基類并聲明基類的成員變量和方法。派生類也稱為子類,繼承一個或多個基類的屬性和方法,并可以在此基礎上添加新的屬性和方法,或者覆寫基類的方法??梢允褂胑xtends繼承基類,聲明派生類的成員變量和新增方法。6.5
繼承extends關鍵字extends關鍵字用于建立類之間的繼承關系,被用于聲明一個類是另一個類的子類(派生類),從而使得子類可以繼承父類的屬性和方法。extends關鍵字的一般用法如下圖.在使用extends關鍵字的時候,需要注意父類屬性和方法的訪問權限。子類可以繼承父類的非私有成員,如果成員是私有的,子類不可以直接訪問。6.5
繼承super關鍵字super關鍵字用于表示當前對象的父類實例或調(diào)用父類的成員,在繼承關系中扮演著重要的角色,提供一種機制來訪問父類的構造方法、成員變量和方法。super關鍵字的作用:1.調(diào)用父類的構造方法:在子類的構造方法中,使用super關鍵字來調(diào)用父類的構造方法。這確保在創(chuàng)建子類對象時,先執(zhí)行父類的初始化代碼。2.訪問父類的成員:使用super關鍵字來引用父類的成員,特別是在子類中存在與父類同名的成員時,可以通過super指定訪問fulei的成員。3.調(diào)用父類的方法:在子類中覆寫父類的方法,但仍想調(diào)用父類的實現(xiàn)時,可以使用super關鍵字。這在保留父類行為的基礎上,進行特定于子類的擴展或修改。4.在接口中使用:在接口中,super關鍵字可以用于引用接口的父接口。這在多接口繼承的情況下提供了一種機制來調(diào)用父接口的默認方法。06多態(tài)6.6
多態(tài)方法重載和方法重寫可以用一個生活情景來幫助我們理解多態(tài)的概念:在生活中,與寵物互動的時候,只需要知道這是一只寵物,而不用在意品種,可以調(diào)用寵物的共同行為,這些行為會更具實際寵物類型來執(zhí)行不同的動作。這種思想被稱為多態(tài)。通過多態(tài),可以用一種通用的方法來處理不同類型的對象,使得代碼更加靈活。方法重載和方法重寫是兩個與多態(tài)性相關的概念,是多態(tài)性的兩種表現(xiàn)形式。一.方法重載方法重載是一種在同一個類中定義多個方法,這些方法具有相同的名字但具有不用的參數(shù)列表。編譯器會根據(jù)方法的參數(shù)類型、個數(shù)來選擇合適的方法。方法重載屬于編譯時多態(tài),也被成為靜態(tài)多態(tài)。方法重載的一般格式如下圖。6.6
多態(tài)注:returnType表示方法的返回類型;methodName是方法的名字;type1,、type2...是方法的參數(shù)列表,可以有多個或零個參數(shù)。6.6
多態(tài)二.方法重寫方法重寫是指子類重新實現(xiàn)父類中已有的方法。子類重寫的方法具有與父類相同的簽名(方法名、參數(shù)名、參數(shù)個數(shù))。運行時,根據(jù)實際對象的類型來調(diào)用相應的方法,屬于運行時多態(tài),也被成為動態(tài)多態(tài)。方法重寫的一般格式如下圖。注:returnType表示方法的返回類型;methodName是方法的名字;type1,、type2...是方法的參數(shù)列表;@Override注釋表示這是一個重寫的方法,用于增加代碼可讀性,同時編譯器會檢查是否正確地進行方法重寫。6.6
多態(tài)抽象類和接口抽象類接和口為多態(tài)提供實現(xiàn)的方法,讓代碼更加靈活和可拓展。一.抽象類抽象類是一個可以包含抽象方法的類,本身不能被實例化。抽象方法是沒有實現(xiàn)體的方法,留給子類去實現(xiàn)。抽象類可以包含非抽象方法,這些方法有默認的實現(xiàn),也可以包含成員變量。抽象類和抽象方法可以只用abstract關鍵字來聲明。抽象類可以作為多態(tài)的基礎,父類引用可以指向子類的對象。抽象類中的抽象方法在子類中必須被實現(xiàn),這就實現(xiàn)了多態(tài)。子類可以提供不同的實現(xiàn),通過父類引用調(diào)用時會根據(jù)實際對象類型來執(zhí)行相應的方法。6.6
多態(tài)二.接口接口是一種抽象類型,定義了一組方法的簽名,但沒有提供方法的實現(xiàn)。類通過實現(xiàn)接口來實現(xiàn)特定的行為。接口可以使用implements關鍵字來實現(xiàn)。接口可以被用作多態(tài)的基礎,一個接口類型的引用可以指向?qū)崿F(xiàn)了該接口的任意類的對象。一個類可以實現(xiàn)多個接口,從而具有多個類型的引用。這使得對象可以通過多個角度被看待,增強了靈活性??傮w而言,抽象類和接口都為多態(tài)提供了實現(xiàn)的手段,使得代碼更具有通用選哪個和可維護性。通過多態(tài),可以更靈活地處理不同類型的對象,提高代碼的可拓展性。07靜態(tài)成員6.7
靜態(tài)成員類變量靜態(tài)成員就像一個類的全明星,不會與具體的對象沾邊,而是專心和整個類打交道。靜態(tài)變量就是類的大家共享的寶藏,靜態(tài)方法像是一個能讓整個類聽到的公告板,而靜態(tài)常量就是那個一勁兒擰不動的東西,一旦設定就不再改變。這些靜態(tài)成員在類的內(nèi)部攪和熱鬧,不用等到對象出場,就能在程序的舞臺上大顯身手。類變量是屬于整個類而不是類的實例的變量,也稱為靜態(tài)變量,用關鍵字static聲明,并且通常在類中的頂層位置,方法之外定義。與實例變量不同,類變量只有一份拷貝,被所有該類的實例所共享。類變量有以下幾個特點:(1)共享性:所以該類的實例共享相同的類變量。(2)在類加載時初始化:類變量在類加載時被初始化,而不是在創(chuàng)建類的實例時,會存在類的整個生命周期,直到程序結束。(3)通過類名訪問:類變量屬于類本身而不是實例,可以使用類名直接訪問,無需創(chuàng)建類的實例。6.7
靜態(tài)成員類方法類方法與類變量相似,類方法屬于類而不是類的實例的方法。類方法不依賴類的實例,可以直接通過類名調(diào)用,二不需要創(chuàng)建類的對象。類方法有以下的特點:(1)靜態(tài)性:類方法是靜態(tài)的,不依賴特定的對象的實例,可以在沒有創(chuàng)建類實例的情況下調(diào)用。(2)無法訪問實例變量:由于類方法不屬于任何特定的實例,無法直接訪問實例變量,只能訪問類變量和其他靜態(tài)內(nèi)容。(3)在類加載時初始化:與類變量類似,類方法在類加載時被初始化,存在整個生命周期。6.7
靜態(tài)成員靜態(tài)塊靜態(tài)塊在類加載時值會執(zhí)行一次,而且是在其他靜態(tài)成員變量初始化之前執(zhí)行的。這意味著可以在靜態(tài)塊中進行一些與類本身有關的操作,例如初始化靜態(tài)成員變量、加載靜態(tài)資源、執(zhí)行靜態(tài)方法等。以一種比如的方式類說,確保在正式開始演出時一切井然有序。這包括檢查靜態(tài)成員的狀態(tài),為類的運行環(huán)境進行設置,或者執(zhí)行一些必要的初始化任務。所以,靜態(tài)塊充當了類加載時的啟動儀式,確保了類在程序中的良好啟動。靜態(tài)塊的主要用途是在類加載時執(zhí)行一些初始化操作,通常用于初始化靜態(tài)成員變量或執(zhí)行與類本身相關的靜態(tài)操作。靜態(tài)塊只執(zhí)行一次,位于類體中,使用關鍵字static聲明。例6.6小明和爸爸媽媽決定使用一個家庭賬戶來追蹤所有花費。請設計一個家庭記賬的Java類,并在余額不足的時候給出提示。6.7
靜態(tài)成員08高級主題6.8
高級主題Java中的高級主題包括多線程和并發(fā)編程,允許同時處理多個任務;設計模式,提供了解決軟件設計常見問題的經(jīng)驗性方案;Lambda表達式和函數(shù)式編程,使代碼更具簡潔性和可讀性;反射機制允許在運行時獲取和操作類的信息。這些概念要求開發(fā)者有深入的理解和經(jīng)驗,幫助構建高效、可維護且靈活的Java應用程序。下面,介紹一下枚舉;內(nèi)部類;反射·枚舉枚舉是Java中的一種特殊數(shù)據(jù)類型,用于表示一組常量。在枚舉中,每個常量都是枚舉類型的一個實例。枚舉常常用于定義一組相關的常量,例如表示星期、顏色、狀態(tài)等。枚舉類型的優(yōu)點包括代碼更加清晰、類型安全、易于閱讀和維護。此外,枚舉類型還可以包含構造方法、實例方法和字段。在Java中,枚舉不僅用于表示一組常量,還可以用于實現(xiàn)單例模式、有限狀態(tài)機等場景。6.8
高級主題例6.7編寫一個程序來定義一個枚舉類型Day表示一周的每一天(SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY)。在主類EnumExample中,使用枚舉常量WEDNESDAY表示今天是星期三,并輸出該信息。然后,通過遍歷枚舉值,輸出一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度綠色生態(tài)豬場經(jīng)營權轉(zhuǎn)讓合同3篇
- 二零二五年度事業(yè)單位合同模板:事業(yè)單位圖書資料數(shù)字化加工合同3篇
- 二零二五年度貧困戶社會保障幫扶合同3篇
- 二零二五年度無人駕駛汽車技術研發(fā)合同2篇
- 2025年度航空航天零部件承包合同3篇
- 2025年度光伏發(fā)電設施巡檢服務外包合同范本正規(guī)范本3篇
- 二零二五年度體育場館專業(yè)保潔與設施維護合同2篇
- 二零二五年度文化創(chuàng)意產(chǎn)業(yè)實習生崗位合同范本3篇
- 二零二五年度國有企業(yè)經(jīng)營權轉(zhuǎn)讓合同2篇
- 2024年中國瓷質(zhì)過濾管市場調(diào)查研究報告
- 高職計算機專業(yè)《Web前端開發(fā)技術》說課稿
- 【獨立儲能】山西省獨立儲能政策及收益分析-中國能建
- 中東及非洲沖擊式破碎機行業(yè)現(xiàn)狀及發(fā)展機遇分析2024-2030
- 工程制圖(中國石油大學(華東))智慧樹知到期末考試答案章節(jié)答案2024年中國石油大學(華東)
- 化工原理(1)智慧樹知到期末考試答案章節(jié)答案2024年華北科技學院
- DZ/T 0441.1-2023 巖芯數(shù)字化技術規(guī)程 第1部分 總則(正式版)
- 2024-2030年中國無創(chuàng)血流動力學監(jiān)測裝置行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- CHT 1027-2012 數(shù)字正射影像圖質(zhì)量檢驗技術規(guī)程(正式版)
- 文藝復興經(jīng)典名著選讀智慧樹知到期末考試答案章節(jié)答案2024年北京大學
- 一年級下-科學-非紙筆測試
- 淘氣的一天(教案)2023-2024學年數(shù)學二年級下冊 北師大版
評論
0/150
提交評論