這是上一節課的鏈接 第二節課
類與物件
首先什么是物件?
物件就是事物存在的物體,人類 書桌 計算機 甚至是游戲中的角色 任務 裝備都可以是一個個物件,
每個人都有他的"名片",比如你的身高,學習成績 性別等這些靜態的東西一般稱之為 “欄位”(或者叫做屬性,但是在有的地方,欄位是私有的,屬性是對外開放的,屬性可以更改或者查看、約束欄位的字面值),相對的一個人的動態,比如他會執行的那些動作我們一般稱之為方法(函式),
而我們寫的是類,是創建物件之前的定義,我們只能在使用new關鍵字的時候,才可以將類實體化成物件
創建類的語法:
[權限表達符] class <類名>{
// 定義;
}
比方說我們來定義一個大雁類
public class DaYan{
String _name = "大雁";
int _age = 2;
public static void fly(){
System.out.println("這只大雁在飛");
}
}
了解了這么多,不妨我們也來創建一個類:人 類
人 有 吃Eat喝Drink拉PaiShit撒Play 四個方法
名稱 年齡 身份證 欄位
public class Person{
String _name = "人類的姓名"
int _age = 23
String _idCode = "510233200110022222X";
}
但是出于撰寫習慣,我們一次只能在一個類里面撰寫一個類,不能撰寫多個,如果真的需要撰寫多個類,請在專案內創建一個新的java檔案

放心一個專案下面的所有檔案都是可以互相使用的,只不過在使用之前,JVM會看看你的權限修飾符
一般有這么幾個權限修飾符
| 位置 | private | public | protected | 默認 |
|---|---|---|---|---|
| 本類 | 可見 | 可見 | 可見 | |
| 同專案(包)內的類或者子類 | 不可見 | 可見 | 可見 | |
| 不同專案(包)的類或者子類 | 不可見 | 可見 | 不可見 |
這些修飾符適用于方法的權限修飾符 .
提問
為什么會有私有private修飾符?
· 因為我存盤的東西不希望公開,是我私有的東西,一般欄位都是私有的,我們使用屬性來進行對欄位的RW(讀寫)_這句話之后你就懂了
如何將類實體化?
我們創建了類,如何將其實體化?

為什么實體化的代碼是這樣寫的?
DaYan da = new DaYan();
第一個出現的DaYan是類的資料型別,這個類是我們定義的,所以他的資料型別就是我們的類名,da 是物件的變數名稱, new是執行類的構造方法 在堆記憶體中創建物件的空間 這里比較難以理解了 說人話就是 將 類 轉化成 物件, 第二個是使用創建物件時需要的類,()是使用這個類的建構式需要的引數
然后使用
物件.屬性
物件.方法([引數])
使用物件的屬性與方法
建構式
那什么是建構式?我們之前講的建構式是怎么一會事?我們都知道使用new可以創建類的物件并且呼叫建構式,那么什么是建構式呢:
我們可以在類里面創建一個特殊的方法,這個方法必須是 public 而且 沒有回傳值!且不是靜態,且方法名稱必須要和類名一致
public class DaYan{
String _name;
int _age;
public DaYan(){
// 創建大雁的構造方法
System.out.print("大雁類被構造成了物件");
}
}
程式是這么執行的:

帶引數構造器
就是帶有引數的構造器,我們要創建一個學生類,但是我想要自定義他的姓名 年齡 就可以使用構造器來執行

在java中,如果你沒有給一個類手動的去定義一個建構式,那么程式就會自動的創建一個無引數的建構式,只不過這個方法里面什么也沒有,一旦我們創建了,無論是有引數還是無引數,程式都不會給我們創建建構式了,所以當我們創建了一個有引數的構造方法,記得多載一個無引數的構造方法,這樣方便我們什么也不傳的情況下實體化物件,
this 關鍵字
在之前我們使用了this關鍵字,其實他可以在類里面模擬實體化一個該類的物件
欄位的包裝
在玩游戲的時候,當角色的血量小于0的時候判斷該人物時候死亡,我們何嘗不可以在給血量賦值的時候順便檢測檢測血量呢,這樣我們就可以省去每次減去血量判斷人物的代碼了,直接將扣血與檢測合為一體,豈不樂哉?
我們可以使用包裝實作這個功能,在包裝變數前,這個變數叫做欄位,包裝變數后,這個變數叫做屬性,欄位是私有的,屬性是公共的

這就是今天的內容了,謝謝觀看
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/259016.html
標籤:其他
上一篇:UBports使用和開發資料(Linux手機作業系統)
下一篇:牛客-篩子游戲 (概率dp)
