類(lèi)是Java中的一種重要的引用數(shù)據(jù)類(lèi)型,也是組成Java程序的基本要素,因?yàn)樗械腏ava程序都是基于類(lèi)的。本節(jié)介紹如何定義類(lèi)。
在Java中定義一個(gè)類(lèi),需要使用class關(guān)鍵字、一個(gè)自定義的類(lèi)名和一對(duì)表示程序體的大括號(hào)。完整語(yǔ)法如下:
[public][abstract|final]class<class_name>[extends<class_name>][implements<interface_name>]?{????//?定義屬性部分????<property_type><property1>;????<property_type><property2>;????<property_type><property3>;????…????//?定義方法部分????function1();????function2();????function3();????…}
提示:上述語(yǔ)法中,中括號(hào)“[]”中的部分表示可以省略,豎線(xiàn)“|”表示“或關(guān)系”,例如abstract|final,說(shuō)明可以使用abstract或final關(guān)鍵字,但是兩個(gè)關(guān)鍵字不能同時(shí)出現(xiàn)。
上述語(yǔ)法中各關(guān)鍵字的描述如下。
public:表示“共有”的意思。如果使用public修飾,則可以被其他類(lèi)和程序訪(fǎng)問(wèn)。每個(gè)Java程序的主類(lèi)都必須是public類(lèi),作為公共工具供其他類(lèi)和程序使用的類(lèi)應(yīng)定義為public類(lèi)。
abstract:如果類(lèi)被abstract修飾,則該類(lèi)為抽象類(lèi),抽象類(lèi)不能被實(shí)例化,但抽象類(lèi)中可以有抽象方法(使用abstract修飾的方法)和具體方法(沒(méi)有使用abstract修飾的方法)。繼承該抽象類(lèi)的所有子類(lèi)都必須實(shí)現(xiàn)該抽象類(lèi)中的所有抽象方法(除非子類(lèi)也是抽象類(lèi))。
final:如果類(lèi)被final修飾,則不允許被繼承。
class:聲明類(lèi)的關(guān)鍵字。
class_name:類(lèi)的名稱(chēng)。
extends:表示繼承其他類(lèi)。
implements:表示實(shí)現(xiàn)某些接口。
property_type:表示成員變量的類(lèi)型。
property:表示成員變量名稱(chēng)。
function():表示成員方法名稱(chēng)。
Java類(lèi)名的命名規(guī)則:
類(lèi)名應(yīng)該以下劃線(xiàn)(_)或字母開(kāi)頭,最好以字母開(kāi)頭。
第一個(gè)字母最好大寫(xiě),如果類(lèi)名由多個(gè)單詞組成,則每個(gè)單詞的首字母最好都大寫(xiě)。
類(lèi)名不能為Java中的關(guān)鍵字,例如boolean、this、int等。
類(lèi)名不能包含任何嵌入的空格或點(diǎn)號(hào)以及除了下劃線(xiàn)(_)和美元符號(hào)($)字符之外的特殊字符。
例1
創(chuàng)建一個(gè)新的類(lèi),就是創(chuàng)建一個(gè)新的數(shù)據(jù)類(lèi)型。實(shí)例化一個(gè)類(lèi),就是得到類(lèi)的一個(gè)對(duì)象。因此,對(duì)象就是一組變量和相關(guān)方法的集合,其中變量表明對(duì)象的狀態(tài)和屬性,方法表明對(duì)象所具有的行為。定義一個(gè)類(lèi)的步驟如下所述。
(1)聲明類(lèi)。編寫(xiě)類(lèi)的最外層框架,聲明一個(gè)名稱(chēng)為Person的類(lèi)。
public?class?Person?{//?類(lèi)的主體}
(2)編寫(xiě)類(lèi)的屬性。類(lèi)中的數(shù)據(jù)和方法統(tǒng)稱(chēng)為類(lèi)成員。其中,類(lèi)的屬性就是類(lèi)的數(shù)據(jù)成員。通過(guò)在類(lèi)的主體中定義變量來(lái)描述類(lèi)所具有的特征(屬性),這里聲明的變量稱(chēng)為類(lèi)的成員變量。
(3)編寫(xiě)類(lèi)的方法。類(lèi)的方法描述了類(lèi)所具有的行為,是類(lèi)的方法成員??梢院?jiǎn)單地把方法理解為獨(dú)立完成某個(gè)功能的單元模塊。
下面來(lái)定義一個(gè)簡(jiǎn)單的Person類(lèi)。
public?class?Person?{private?String?name;????//?姓名private?int?age;????//?年齡public?void?tell()?{//?定義說(shuō)話(huà)的方法System.out.println(name+"今年"+age+"歲!");}}
如上述代碼,在 Person 類(lèi)中首先定義了兩個(gè)屬性,分別為 name 和 age,然后定義了一個(gè)名稱(chēng)為 tell() 的方法。
以上就是深圳達(dá)內(nèi)教育java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java類(lèi)的定義及定義類(lèi)時(shí)可用的關(guān)鍵字”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€(xiàn)咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。