JAVA面向對象之對象和類

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任意數據類型,根據數據類型的不一樣採用值傳遞或引用傳遞。

三、建立對象

想要建立對象,咱們首先要抽象出類,好比咱們要建立一個箱子對象,咱們應該首先抽象出箱子類,箱子具備長度、寬度、高度等屬性,而且能夠計算體積,因此咱們能夠這樣定義這個類:

  1. public class Box   {  
  2.    private double length;  
  3.    private double width;  
  4.    private double height;  
  5.      
  6.    public void setLength(double length)  {  
  7.       this.length = length;  
  8.    }  
  9.      
  10.    public void setWidth(double width)  {  
  11.       this.width = width;  
  12.    }  
  13.      
  14.    public void setHeight(double height)  {  
  15.       this.height = height;  
  16.    }  
  17.      
  18.    public double getLength()  {  
  19.        return length;  
  20.    }  
  21.      
  22.    public double getWidth()  {  
  23.        return width;  
  24.    }  
  25.      
  26.    public double getHeight()  {  
  27.        return height;  
  28.    }  
  29.      
  30.    public double getV()  {  
  31.       return length * width * height;  
  32.    }  
  33. }  

在這個類中,類名爲Box,咱們定義了三個屬性,分別爲長、寬、高,且屬性的訪問修飾爲private,咱們須要經過getter/setter方法對其進行讀取/賦值,另外還有一個計算體積的方法。

要想建立新的對象,咱們須要使用new關鍵字和想要建立對象的類名,如:

Box box = new Box();

等號左邊以類名Box做爲變量類型定義了一個變量box,來指向等號右邊經過new關鍵字建立的一個Box類的實例對象,變量box就是對象的引用。注意:在new語句的類名後必定要加上(),Box()被稱爲構造方法。

若是要訪問對象中的屬性或方法,可使用.操做符,如:box.getV();

相關文章
相關標籤/搜索