物件與類_知識點筆記
1. 在一個原始檔中,只能有一個共有public類(也可以沒有,最多隻能有一個),但可以有任意數目的非共有類,且原始檔名必須與public類的名字相匹配;而每一個類都可以有main方法(這常用於對類進行單元測試),但是測試類(Employee)永遠不會執行,想要測試這個main,只需要執行java Employee即可
2. 構造器相關:
構造器與類同名
每個類可以有0、1、多個構造器
構造器沒有返回值
構造器總是伴隨著new操作一起呼叫
3. 靜態域與靜態方法:
static:屬於類,而不屬於類物件的變數和函式
靜態域:如果將域定義為static,則每個類中只有一個這樣的域(不加final可以改變,但大家一起共享),而每個物件對於所有的例項域(資料域)都有自己的一份拷貝。
private static int nextId = 1; //每個物件的static域都是共享這一個域
private int id; //每個物件的例項域都有自己的一份拷貝
換句話說,如果有1000個Employee類的物件,則有1000個例項域id,但只有一個靜態域nwxtId。即使沒有物件,靜態域nextId也存在,它屬於類不屬於物件
靜態方法:----不能操作物件(雖然使用物件也可以呼叫類的靜態方法,但容易混淆並且與個別物件毫無關係,因此建議使用類名呼叫靜態方法)
靜態方法是一種不能向物件實施操作的方法(eg. Math.pow()),在運算時,不使用任何物件。可以認為靜態方法是沒有this引數的方法(在一個非靜態方法中,this參數列示這個 方法的隱式引數)
靜態方法不能訪問例項域(因為不能操作物件),但可以訪問靜態域,如下:
public static int getID()
{
return nextId; //public static int nextId;
}
可以通過類名呼叫靜態方法:
Employee.getID();
在下面兩種情況下使用靜態方法:
一個方法不需要訪問物件狀態,其所需引數都是通過顯式引數提供(Math.pow(2,3))
一個方法只需要訪問類的靜態域,而不訪問例項域( Employee.getID(); )
相關文章
- 生物知識點筆記筆記
- Java類和物件知識點總結Java物件
- 知識盲點 隨筆筆記筆記
- vueX基礎知識點筆記Vue筆記
- Redis知識點筆記總結Redis筆記
- React學習筆記知識點整理React筆記
- PHP 手冊 (類與物件) 學習筆記十:抽象類PHP物件筆記抽象
- PHP 手冊 (類與物件) 學習筆記三:類常量PHP物件筆記
- 類和物件部分知識總結物件
- 類載入、物件例項化知識點一網打盡物件
- PHP 手冊 (類與物件) 學習筆記七:物件繼承PHP物件筆記繼承
- Java核心卷1知識點整理——第四章 物件與類(4.1-4.3)Java物件
- 三、執行緒池知識點整理筆記執行緒筆記
- Promise學習筆記(知識點 + 手寫Promise)Promise筆記
- 知識點記錄
- Vue.js中前端知識點總結筆記Vue.js前端筆記
- <react學習筆記(5)>知識點回顧(1)React筆記
- disruptor筆記之八:知識點補充(終篇)筆記
- Python小知識點隨筆Python
- ElasticSearch知識點小記Elasticsearch
- Netty知識點(雜記)Netty
- L02 Web 開發實戰筆記(重點知識點)Web筆記
- 王昊奮知識圖譜學習筆記--第三講知識抽取與知識挖掘(上)筆記
- HTML DOM 知識點整理(一)—— Document物件HTML物件
- 【原】2024年系統規劃與管理師案例知識點學習筆記筆記
- Laravel 小知識點之 HtmlString 類LaravelHTML
- PHP 手冊 (類與物件) 學習筆記二:屬性PHP物件筆記
- 《圖解HTTP》學習筆記(附帶WebSocket知識點)圖解HTTP筆記Web
- C++學習筆記,知識點+程式碼測試C++筆記
- 如何講清楚 Java 物件導向的問題與知識?(類與物件,封裝,繼承,多型,介面,內部類...)Java物件封裝繼承多型
- 筆試題知識點總結筆試
- 記錄的小知識點
- python知識點記錄_01Python
- python知識點記錄_03Python
- 學習記錄 -- 知識點
- 物件導向知識點總結歸納物件
- PHP 手冊 (類與物件) 學習筆記四:類的自動載入PHP物件筆記
- PHP 手冊 (類與物件) 學習筆記一:基本概念PHP物件筆記
- 程式設計師筆記(知識)管理的一點經驗程式設計師筆記