类属性的特征java_java定义类、属性、方法
Java是面向對象的程序設計語言,Java語言提供了定義類、定義屬性、方法等最基本的功能。類可被認為是一種自定義的數據類型,可以使用類來定義變量,所有使用類定義的變量都是引用變量,它們將會引用到類的對象,對象由類負責創建。類用于描述客觀世界里某一類對象的共同特征,而對象則是類的具體存在,Java程序使用類的構造器來創建該類的對象。
Java也支持面向對象的三大特征:封裝、繼承和多態,Java提供了private、protected和public三個訪問控制修飾符來實現良好的封裝,提供了extends關鍵字來讓子類繼承父類,子類繼承父類將可以繼承到父類的屬性和方法,如果訪問控制允許,子類實例可以直接調用父類里定義的方法。繼承是實現類復用的重要手段,除此之外,也可通過組合關系來實現這種復用,從某種程度上來看,繼承和組合具有相同的功能。使用繼承關系來實現復用時,子類對象可以直接賦給父類變量,這個變量具有多態性,編程更加靈活,而利用組合關系來實現復用的時候,則不具備這種靈活性。
構造器用于對類實例進行初始化操作,構造器支持重載,如果多個重載的構造器里包含了相同的初始化代碼,則可以把這些初始化代碼放置在普通初始化塊里完成,初始化塊總在構造器執行之前被調用。除此之外,Java還提供了一種靜態初始化塊,靜態初始化塊用于初始化類,在類初始化階段被執行。如果繼承樹里的某一個類需要被初始化時,系統將會同時初始化這棵繼承樹里的所有類。
類和對象
Java是面向對象的程序設計語言,類是面向對象的重要內容,我們可以把類當成一種自定義數據類型,可以使用類來定義變量,這種類型的變量統稱為引用型變量。也就是說,所有類是引用數據類型。
定義類
面向對象的程序設計過程中有兩個重要概念:類(class)和對象(object,也被稱為實例,instance),其中類是某一批對象的抽象,可以把類理解成某種概念;對象才是一個具體存在的實體,從這個意義上來看,我們日常所說的人,其實應該是人的對象,而不是人類。
Java語言是面向對象的程序設計語言,類和對象是面向對象的核心。Java語言提供了對創建類和創建對象簡單的語法支持。
Java語言里定義類的簡單語法如下:
[修飾符]class類名
{
零個到多個構造器定義..
零個到多個屬性…
零個到多個方法…
}
在上面的語法格式中,修飾符可以是public、final,或者完全省略這兩個修飾符,類名只要是一個合法的標識符即可,但這僅僅滿足的是Java的語法要求;如果從程序的可讀性方面來看,Java類名必須是由一個或多個有意義的單詞連綴而成,每個單詞首字母大寫,其他字母全部小寫,單詞與單詞之間不要使用任何分隔符。
對一個類定義而言,可以包含三種最常見的成員:構造器、屬性和方法,三種成員都可以定義零個或多個,如果三種成員都只定義零個,就是定義了一個空類,這沒有太大的實際意義。
類里各成員之間的定義順序沒有任何影響,各成員之間可以相互調用,但需要指出的是,static修飾的成員不能訪問沒有static修飾的成員。
屬性用于定義該類或該類的實例所包含的數據,方法則用于定義該類或該類的實例的行為特征或功能實現。構造器用于構造該類的實例,Java語言通過new關鍵字來調用構造器,從而返回該類的實例。
構造器是一個類創建對象的根本途徑,如果一個類沒有構造器,這個類通常將無法創建實例。因此,Java語言提供了一個功能:如果程序員沒有為一個類編寫構造器,則系統會為該類提供一個默認的構造器。一旦程序員為一個類提供了構造器,系統將不再為該類提供構造器。
定義屬性的語法格式如下:
[修飾符] 屬性類型 屬性名 [=默認值]
屬性語法格式的詳細說明如下:
1、修飾符:修飾符可以省略,也可以是public、protected、private、static、final,其中public、protected、private三個最多只能出現其中之一,可以與static、final組合起來修飾屬性。
2、屬性類型:屬性類型可以是Java語言允許的任何數據類型,包括基本類型和現在介紹的引用類型。
3、屬性名:屬性名則只要是一個合法的標識符即可,但這只是從語法角度來說的;如果從程序可讀性角度來看,屬性名應該由一個或多個有意義的單詞連綴而成,第一個單詞首字母小寫,后面每個單詞首字母大寫,其他字母全部小寫,單詞與單詞之間不需使用任何分隔符。
4、默認值:定義屬性還可以定義一個可選的默認值。
提示:屬性是一種比較傳統、也比較符合漢語習慣的說法,在Java的官方說法里,屬性被稱為Field,因此有的地方也把屬性翻譯為字段。
定義方法的語法格式如下:
[修飾符] 方法返回值類型 方法么(形參列表)
{
//由零條到多條可執行性語句組成的方法體
}
方法語法格式的詳細說明如下:
1、修飾符:修飾符可以省略,也可以是public、protected、private、static、final、abstract、其中public、protected、private三個最多只能出現其中之一;abstract和final最多只能出現其中之一,它們可以與static組合起來修飾方法。
2、方法返回值類型:返回值類型可以是Java語言允許的任何數據類型,包括基本類型和引用類型;如果聲明了方法返回值類型,則方法體內必須有一個有效的return語句,該語句返回一個變量或一個表達式,這個變量或者表達式的類型必須與此處聲明的類型匹配。除此之外,如果一個方法沒有返回值,則必須使用void來聲明沒有返回值。
3、方法名:方法名命名規則與屬性命名規則基本相同,但通常建議方法名以英文中的動詞開頭。
4、形參列表:形參列表用于定義該方法可以接受的參數,形參列表由零組到多組“參數類型形參名”組合而成,多組參數之間以英文逗號(,)隔開,形參類型和形參名之間以英文空格隔開。一旦在定義方法時指定了形參列表,則調用該方法時必須傳入對應他的參數值——誰調用方法,誰負責為形參賦值。
方法體里多條可執行性語句之間有嚴格的執行順序,排在方法體前面的語句總是先執行,排在方法體后面的語句總是后執行。
static是一個特殊的關鍵字,它可用于修飾方法、屬性等成員。static修飾的成員表明它是屬于這個類共有的,而不是屬于該類的單個實例,因為通常把static修飾的屬性和方法也稱為類屬性、類方法。不使用static修飾的普通方法、屬性則屬于該類的單個實例,而不是屬于該類。因為通常把不使用static修飾的屬性和方法也稱為實例屬性、實例方法。
提示:由于static在英文直譯就是靜態的意思,因此有時也把static修飾的屬性和方法稱為屬性和靜態方法,把不使用static修飾的屬性和方法稱為非靜態屬性和非靜態方法。靜態成員不能直接訪問非靜態成員。
構造器是一個特殊的方法,定義構造器的語法格式與定義方法的語法格式很像,定義構造器的語法格式如下:
[修飾符] 構造器名 (形參列表)
{
//由零條到多條可執行性語句組成的構造器執行體
}
構造器語法格式的詳細說明如下:
1、修飾符:修飾符可以省略,也可以是public、protected、private其中之一。
2、構造器名:構造器名必須和類名相同。
3、形參列表:和定義方法形參列表的格式完全相同。
值得指出的是,構造器不能定義返回值類型聲明,也不能使用void定義構造器沒有返回值。如果為構造器定義了返回值類型,或使用void定義構造器沒有返回值,編譯時不會出錯,但Java會把這個所謂的構造器當成方法來處理。
(來源:瘋狂軟件教育)
總結
以上是生活随笔為你收集整理的类属性的特征java_java定义类、属性、方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java j集合_JNotes/Java
- 下一篇: python素材库_python的JSO