1、對象和類的概念this
一、對象spa
以一我的爲例,對於人,咱們能夠從他所具備的特徵和所具備的行爲來進行分析。對象
特徵:體重、身高、性別、年齡......繼承
行爲:吃飯、睡覺、說話......接口
上面的例子就是對現實世界中的具體事物進行的描述,這些具體的事務就是對像,好比一我的、一輛車。從以上的分析還能夠看出,人類在對事物進行描述的時候大多從兩個方面,即從靜(特性、特徵)和動(用途、行爲)來展開。因此咱們能夠總結爲:對象指具體的事物,具備靜態的特徵和動態的行爲或用途。事務
在Java語言中,在對對象進行描述時,其靜態的特徵稱爲屬性,動態的行爲或用途稱爲方法。get
二、類原型
上面提到對象是具體的事物,那麼,類就是對具體事物的通常特徵進行描述。換句話說,類是具備相同屬性和行爲的一組對象的集合,類也有屬性和行爲。io
對象是具體的一個實實在在的事物,類是從這些具體事物(對象)的原型。是這些事物通常特徵的描述,是抽象出來的。class
2、定義類和建立對象
一、類的聲明
Java中類聲明的格式以下:
[類修飾符] class 類名 [extends 父類名稱] [implements 接口名稱列表] {
變量定義及初始化;
方法定義及方法體;
}
類修飾符:[public|abstract|final] 缺省方式爲frindly
public:類的訪問控制符。
Java類具備兩種訪問訪問修飾符:public和default。public容許類具備徹底開放的可見性,全部其餘類均可以訪問它,省略public,則爲default,即只有位於同一個包(本質上就是文件夾)中的類能夠訪問該類。
abstract指明該類爲一個抽象類,說明該類是一個定義不徹底的類,須要被繼承,才能實例化建立對象。
final:代表該類爲最終類,不能被繼承。
extends:表示繼承,若是沒有指定繼承關係,則自動從Object類派生該類。
implements:表示實現接口。
二、類的成員
類的成員包括屬性(變量)和方法兩個部分,定義格式以下:
成員變量:
[變量修飾符] 變量數據類型 變量名;
變量修飾符能夠爲public、protected、private、static、final、transient、volatile。
成員變量能夠是Java的任意一種數據類型
成員方法:
[方法修飾符] 返回類型 方法名稱(參數列表) [throws exception]{
......
}
方法修飾符能夠是public、protected、private、static、final、abstract、native、synchronized。
返回類型能夠是Java任意數據類型,當一個方法不須要返回值時,返回類型爲void。
參數的類型能夠是Java任意數據類型,根據數據類型的不一樣採用值傳遞或引用傳遞。
三、建立對象
想要建立對象,咱們首先要抽象出類,好比咱們要建立一個箱子對象,咱們應該首先抽象出箱子類,箱子具備長度、寬度、高度等屬性,而且能夠計算體積,因此咱們能夠這樣定義這個類:
在這個類中,類名爲Box,咱們定義了三個屬性,分別爲長、寬、高,且屬性的訪問修飾爲private,咱們須要經過getter/setter方法對其進行讀取/賦值,另外還有一個計算體積的方法。
要想建立新的對象,咱們須要使用new關鍵字和想要建立對象的類名,如:
Box box = new Box();
等號左邊以類名Box做爲變量類型定義了一個變量box,來指向等號右邊經過new關鍵字建立的一個Box類的實例對象,變量box就是對象的引用。注意:在new語句的類名後必定要加上(),Box()被稱爲構造方法。
若是要訪問對象中的屬性或方法,可使用.操做符,如:box.getV();