第一章  Java 類與物件(一)

2020-11-13 14:01:07

在學習Java語言進行程式設計的過程中,我們基本熟悉了Java的一些基本概念,例如:資料型別、類、物件以及構造器的相關知識點,概念什麼的應該是倒背如流吧。可是我們依舊會有一些疑問:到底什麼是Java類,物件又和類有什麼關係,類與物件又是儲存在什麼位置。這篇文章會帶領大家認識一下類與物件

【注】:在本篇文章中會有一些Java中其他知識點,我會在後續文章中講解,但這並不影響在本篇文章中的影響。

一、類與物件

1、類:

                現實生活中,存在一些有相同性質的實體(物體、概念、物質),將他們的相同性質抽象出來,用概念描述,組成的一個集合叫做類。類僅僅是對一系列實體的一個宏觀的描述。

2、物件:

         就是將類中的一些提取出來的性質用準確的語言描述(更詳細的去描述物體的特徵)所形成的的一個實體就是物件。物件就是將類對這一類物體的宏觀描述做一個更加具體的表示,使其能準確的表達一個物體

在計算機中,類作為一個資料的宏觀描述(也就是一種資料型別),而物件代表的是具體的資料。例如:王者榮耀中射手都可以進行遠端攻擊,那麼我們建立一個射手類,該類定義攻擊方式為遠端攻擊;而射手類的物件則可以具體指定這個射手英雄是后羿還是魯班、都有什麼技能。這就是類與物件之間的關係。

類:

//宏觀描述射手類英雄的型別
public class 射手{
    //英雄的名字
    private String name;
    //英雄的性別
    private String gender;

}

範例化物件:

射手 s = new 射手();

看到這裡大家發現,這和我們自己的理解差不多嘛。彆著急,接下來問大家一個問題,你真的知道範例化物件時哪個才是物件嗎?

很多人都會認為上述程式碼中  射手 s   是物件,其實並不是,真正的物件是    new 射手()  才對,前面的 s  指的是物件的參照。

什麼是參照?你可以理解為我們範例化物件後給物件取一個名字,也就是說我們範例化了很多個射手類的物件,但是我們在使用某一個射手類物件的時候,計算機並不知道我們到底想用哪個物件。所以我們取了一個名字,在使用物件的時候告訴計算機我們究竟要用哪個物件來進行操作。這樣是不是很好理解了?