1、類:
現實生活中,存在一些有相同性質的實體(物體、概念、物質),將他們的相同性質抽象出來,用概念描述,組成的一個集合叫做類。類僅僅是對一系列實體的一個宏觀的描述。
2、物件:
就是將類中的一些提取出來的性質用準確的語言描述(更詳細的去描述物體的特徵)所形成的的一個實體就是物件。物件就是將類對這一類物體的宏觀描述做一個更加具體的表示,使其能準確的表達一個物體
在計算機中,類作為一個資料的宏觀描述(也就是一種資料型別),而物件代表的是具體的資料。例如:王者榮耀中射手都可以進行遠端攻擊,那麼我們建立一個射手類,該類定義攻擊方式為遠端攻擊;而射手類的物件則可以具體指定這個射手英雄是后羿還是魯班、都有什麼技能。這就是類與物件之間的關係。
//宏觀描述射手類英雄的型別
public class 射手{
//英雄的名字
private String name;
//英雄的性別
private String gender;
}
射手 s = new 射手();
看到這裡大家發現,這和我們自己的理解差不多嘛。彆著急,接下來問大家一個問題,你真的知道範例化物件時哪個才是物件嗎?
很多人都會認為上述程式碼中 射手 s 是物件,其實並不是,真正的物件是 new 射手() 才對,前面的 s 指的是物件的參照。
什麼是參照?你可以理解為我們範例化物件後給物件取一個名字,也就是說我們範例化了很多個射手類的物件,但是我們在使用某一個射手類物件的時候,計算機並不知道我們到底想用哪個物件。所以我們取了一個名字,在使用物件的時候告訴計算機我們究竟要用哪個物件來進行操作。這樣是不是很好理解了?