>[success] # 類
1. 類是對現實生活中一類具有共同屬性和行為的事物的抽象【類】是對事物,也就是對象的一種描述, 根據類去創建對象
2. 用來描述一類事物的類,專業叫做:**Javabean類**。在`Javabean`類中,是不寫`main`方法的。
3. 在以前,編寫**main方法的類,叫做測試類**。我們可以在測試類中創建`javabean`類的對象并進行賦值調用。
>[danger] ##### java 類
* 通常情況下,當類名由多個單詞組成時,要求每個單詞首字母都要大寫,`駝峰` 命名
* 一個`java`文件中可以定義多個`class`類,且**只能一個類是`public`修飾,而且`public`修飾的類名必須成為代碼文件名**。實際開發中**建議還是一個文件定義一個class類**。
* 成員變量的完整定義格式是:`修飾符 數據類型 變量名稱=初始化值;` **一般無需指定初始化值,存在默認值。**
| 數據類類 | 默認值 |
| --- | --- |
| byte、short、int、long (基本類型) | 0 |
| float、double (基本類型) | 0.0 |
| boolean (基本類型)| false |
| 類、接口、數組、String (引用類型) | null |
~~~
class 類名 {
成員變量(表示屬性,一般是名詞);
成員方法(表示行為,一般是動詞);
構造器;
代碼塊;
內部類;
}
~~~
>[danger] ##### 創建類
1. 類的組成是由**屬性**和**行為**兩部分組成
* 屬性:在類中通過成員變量來體現
* 行為:在類中通過成員方法來體現
2. 類的定義步驟:
* 定義類
* 編寫類的成員變量
* 編寫類的成員方法
```java
public class 類名 {
// 成員變量
變量1的數據類型 變量1;
變量2的數據類型 變量2;
…
// 成員方法
方法1;
方法2;
}
```
>[danger] ##### 創建對象
* 當一個類定義完畢后,可以使用new關鍵字來創建該類的對象,這個過程叫做類的`實例化`。
* 創建對象的本質就是在內存空間的堆區申請一塊存儲區域, 用于存放該對象獨有特征信息
* 創建對象的格式 `類名 對象名 = new 類名()`
* 調用成員的格式 `對象名.成員變量` / `對象名.成員方法()`
>[danger] ##### 案例
* 創建一個類 并且 生成一個對象
~~~
public class Person {
// 聲明屬性
int age = 18;
String name = "張三";
// 聲明方法
public void sleep() {
System.out.println("睡覺");
}
// 執行方法的入口文件
public static void main(String[] args) {
Person p = new Person();
System.out.println(p.age);
p.sleep();
}
}
~~~
>[info] ## 如何去創建設計類
1. 需要先思考**對象代表什么,就得封裝對應的數據,并提供數據對應的行為**
* 舉個例子例如人畫圓,我們對人和圓創建兩個類依次是`Person` 和 `Circle`,但畫圓的方法在正常感覺下應該是屬于`Person `類的但實際要注意誰提供了數據行為就應該屬于誰, `Circle`這個類提供畫圓形所具備的一切屬性,因此畫圓的方法應該屬于`Circle`這個類,人僅僅是去調用`Circle`這個類這個方法
* 例如人關門,門雖然是人關上的,但關門的行為其實是屬于門
>[danger] ##### 編寫人畫圓
* 設計一個`Person` 類
~~~
public class Person{
public String name;
public String age;
}
~~~
* 設計一個`Circle`類
~~~
public class Circle {
double radius;
public void draw() {
System.out.print("畫圓形");
}
}
~~~
>[danger] ##### 總結
1. 客觀存在的事物皆為對象 ,所以我們也常常說萬物皆對象
* 類的理解
* 類是對現實生活中一類具有共同屬性和行為的事物的抽象
* 類是對象的數據類型,類是具有相同屬性和行為的一組對象的集合
* 簡單理解:類就是對現實事物的一種描述
* 類的組成
* 屬性:指事物的特征,例如:手機事物(品牌,價格,尺寸)
* 行為:指事物能執行的操作,例如:手機事物(打電話,發短信)
* 類和對象的關系
* 類:類是對現實生活中一類具有共同屬性和行為的事物的抽象
* 對象:是能夠看得到摸的著的真實存在的實體
* 簡單理解:**類是對事物的一種描述,對象則為具體存在的事物**
- windows -- 環境變量
- Vscode -- 編寫java
- 初始java
- java -- 關鍵字
- 編寫第一個java程序
- java -- 注釋
- 計算機存儲 -- 進制
- java -- 類型
- java -- 變量
- 數字類型
- 布爾類型
- 字符類型
- 類型轉換
- 雙等比較是什么
- java -- 運算符
- 算數運算符
- 字符串拼接
- 關系/比較運算符
- 自增減運算符
- 邏輯運算符
- 三目運算
- 賦值運算符
- 移位運算符
- 位運算符
- 運算符優先級
- java -- 流程控制語句
- if /else if /if -- 判斷
- switch case分支結構
- for -- 循環
- 用雙重for循環
- while -- 循環
- do while -- 循環
- 案例練習
- java -- 數組
- 數組的存儲
- 數組的增刪改查
- 數組的特點
- 數組案例
- 二維數組
- 數組的工具方法
- java -- 方法
- java -- 方法的重載
- java -- 方法的調用流程
- java -- 類方法傳參注意事項
- java -- 方法練習案例
- 對比 return break continue
- for each循環
- java -- 基礎練習
- java -- 面向對象
- java -- 創建類和對象
- java -- 訪問控制符
- java -- 類成員方法
- java -- 構造方法
- java -- this
- java -- 封裝
- java -- 對象內存圖
- java -- 創建對象案例
- java -- static
- java -- 繼承
- super -- 關鍵字
- java -- 構造塊和靜態代碼塊
- java -- 重寫
- java -- final
- java -- 多態
- java -- 抽象類
- java -- 接口
- 引用類型數據轉換
- 綜合案例
- java -- 內部類
- java -- 回調模式
- java -- 枚舉類型
- java -- switch 使用枚舉
- java -- 枚舉方法使用
- java -- 枚舉類實現接口
- java -- javaBean
- java -- package 包
- java -- import
- java -- 遞歸練習
- java -- 設計模式
- 單例模式
- java -- 注解
- java -- 元注解
- Java -- 核心類庫
- java -- 處理字符串
- Java -- String
- String -- 常用方法
- String -- 正則
- Java -- StringBuilder 和 StringBuffer
- 知識點
- Java -- StringJoiner 字符串拼接
- 練習題
- 字符串的總結
- Java -- 包裝類
- Integer
- Double
- Boolean
- Character
- java -- 集合類
- java -- util.Collection
- Iterator接口
- java -- util.List
- java -- ArrayList
- java -- util.Queue
- java -- util.Set
- java -- util.Map
- java -- util.Collections
- Java -- Math
- Java -- java.lang
- Java -- Object
- Java -- 獲取當前時間戳
- Java -- 異常
- Java -- java.util
- java -- Date
- java -- Calender
- Java -- java.text
- Java -- SimpleDateFormat
- Java -- java.time
- Java -- java.io
- java -- io.File
- java -- 泛型
- IDEA -- 用法