1.2 Java类的定义
類是對象的抽象,對象是類的具體。
類是描述了一組有相同特性(屬性)和相同行為(方法)的一組對象的集合。
對象:對象是類的一個實例(對象不是找個女朋友),有狀態和行為。例如,一條狗是一個對象,它的狀態有:顏色、名字、品種;行為有:搖尾巴、叫、吃等。
類
類是一個模板,它描述一類對象的行為和狀態。
類是 Java 中的一種重要的引用數據類型,也是組成 Java 程序的基本要素,因為所有的 Java 程序都是基于類的。
在 Java 中定義一個類,需要使用 class 關鍵字、一個自定義的類名和一對表示程序體的大括號。完整語法如下:
[public][abstract|final]class<class_name>[extends<class_name>][implements<interface_name>] {// 定義屬性部分<property_type><property1>;<property_type><property2>;<property_type><property3>;…// 定義方法部分function1();function2();function3();… }提示:上述語法中,中括號“[]”中的部分表示可以省略,豎線“|”表示“或關系”,例如 abstract|final,說明可以使用 abstract 或 final 關鍵字,但是兩個關鍵字不能同時出現。
上述語法中各關鍵字的描述如下。
- public:表示“共有”的意思。如果使用 public 修飾,則可以被其他類和程序訪問。每個 Java 程序的主類都必須是 public類,作為公共工具供其他類和程序使用的類應定義為 public 類。
- abstract:如果類被 abstract 修飾,則該類為抽象類,抽象類不能被實例化,但抽象類中可以有抽象方法(使用 abstract修飾的方法)和具體方法(沒有使用 abstract修飾的方法)。繼承該抽象類的所有子類都必須實現該抽象類中的所有抽象方法(除非子類也是抽象類)。
- final:如果類被 final 修飾,則不允許被繼承。
- class:聲明類的關鍵字。
- class_name:類的名稱。
- extends:表示繼承其他類。
- implements:表示實現某些接口。
- property_type:表示成員變量的類型。
- property:表示成員變量名稱。
- function():表示成員方法名稱。
Java 類名的命名規則:
- 類名應該以下劃線(_)或字母開頭,最好以字母開頭。
- 第一個字母最好大寫,如果類名由多個單詞組成,則每個單詞的首字母最好都大寫。
- 類名不能為 Java 中的關鍵字,例如 boolean、this、int 等。
- 類名不能包含任何嵌入的空格或點號以及除了下劃線(_)和美元符號($)字符之外的特殊字符。
例 1
創建一個新的類,就是創建一個新的數據類型。實例化一個類,就是得到類的一個對象。因此,對象就是一組變量和相關方法的集合,其中變量表明對象的狀態和屬性,方法表明對象所具有的行為。定義一個類的步驟如下所述。
(1) 聲明類。編寫類的最外層框架,聲明一個名稱為 Person 的類。
public class Person {// 類的主體 }(2) 編寫類的屬性。類中的數據和方法統稱為類成員。其中,類的屬性就是類的數據成員。通過在類的主體中定義變量來描述類所具有的特征(屬性),這里聲明的變量稱為類的成員變量。
(3) 編寫類的方法。類的方法描述了類所具有的行為,是類的方法成員。可以簡單地把方法理解為獨立完成某個功能的單元模塊。
下面來定義一個簡單的 Person 類。
public class Person {private String name; // 姓名private int age; // 年齡public void tell() { // 定義說話的方法System.out.println(name+"今年"+age+"歲!");} }如上述代碼,在 Person 類中首先定義了兩個屬性,分別為 name 和 age,然后定義了一個名稱為 tell() 的方法。
一個類可以包含以下類型變量:
- 局部變量:在方法、構造方法或者語句塊中定義的變量被稱為局部變量。變量聲明和初始化都是在方法中,方法結束后,變量就會自動銷毀。
- 成員變量:成員變量是定義在類中,方法體之外的變量。這種變量在創建對象的時候實例化。成員變量可以被類中方法、構造方法和特定類的語句塊訪問。
- 類變量:類變量也聲明在類中,方法體之外,但必須聲明為 static 類型。
一個類可以擁有多個方法,在上面的例子中:barking()、hungry() 和 sleeping() 都是 Dog 類的方法。
總結
以上是生活随笔為你收集整理的1.2 Java类的定义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.1 对象的概念及面向对象的三个基本特
- 下一篇: 1.3 Java类的属性:成员变量的定义