這一節我們來看一下類與對象之間的關系。
我們學習java語言,目的就是用java語言對現實生活中的事物進行描述。那么我們怎樣來描述呢,這就引出了類,我們在實際實現時,是通過類的形式來體現的。
那么對于現實生活中的事物如何描述呢?
我們在現實生活中對于事物描述通常只關注兩個方面,一個是屬性,另一個就是行為。
那么很自然,計算機的描述就產生出具體的對象。
比如我們要描述一個小汽車,那么我們要怎么描述呢?通過上面關注兩個方面,我們很輕松的從兩個方面進行以下描述:
屬性:輪胎數,顏色,品牌等等。
行為:啟動,運行,熄火等等。
我們用java語言來實現這個描述,用類體現如下:
~~~
class Car
{
int num;//這是輪胎數屬性
String color;//這是顏色屬性
String brand;//這是品牌性
void start()
{
System.out.println("小汽車已啟動");
}
void run()//這就是運行行為
{
System.out.println(num+"..."+color+"..."+brand);
}
}
~~~
上面的代碼很清晰的描述了一個簡單的汽車,如果到這里,恭喜你,你的小汽車到手了!(開個玩笑)
通過上面的類我們可以看出,要描述現實生活中的任一事物,只要明確該事物的發生和行為并定義在類中即可。
那么我們說的對象是什么呢?這里我們給出一個定義,對象其實就是該類事物實實在在存在的一個個體。
那么類與對象之間的關系是什么樣子呢?
類:事物的描述。
對象:該類事物的實例.在java中通過new創建的。
我們看一個測試,來開一開我們自己的小汽車吧。
~~~
class CarDemo
{
public static void main(String[] args)
{
//在計算中創建一個car的實例,通過new這個關鍵字.
Car myCar = new Car();//myCar就是一個類類型的引用變量,指向了該類的對象.
myCar.num = 4;
myCar.color = "red";
myCar.brand = "BWM";
myCar.start();
myCar.run();//要使用對象中的內容,可能通過 對象.成員 的形式來完成調用.
}
}
~~~
通過上面的代碼,我們創建了一個小汽車Car的實例,就是說我們制造了一個屬于我們自己的寶馬小汽車myCar,它有4個輪子,紅色,并且我們可以啟動它,并開著它出去溜一圈都是不成問題的。
- 前言
- 1.1 基本常識
- 1.2 Java語言概述
- 1.3 Java語言的環境搭建
- 1.4 Java程序開發之初體驗--Hello World
- 2.1 關鍵字
- 2.2 標識符
- 2.3 注釋
- 2.4 常量
- 2.5 進制掃盲
- 2.6 變量和數據類型(1)
- 2.7 變量和數據類型(2)
- 2.8 運算符
- 3.1 if語句
- 3.2 switch語句
- 3.3 while和do-while語句
- 3.4 for語句
- 3.5 for循環的嵌套
- 3.6 break語句與continue語句
- 4.1 函數的定義
- 4.2 定義函數的兩個明確
- 4.3 函數的內存加載過程
- 4.4 函數的重載
- 5.1 數組的定義
- 5.2 數組的內存分配及特點
- 5.3 數組操作中常見問題
- 5.4 數組常用操作(1)
- 5.5 數組常用操作(2)
- 5.6 二維數組
- 6.1 面向對象的概述
- 6.2 類與對象的關系
- 6.3 對象的內存體現
- 6.4 成員變量與局部變量
- 6.5 類類型參數與匿名對象
- 6.6 基本數據類型參數與引用數據類型參數的傳遞過程
- 6.7 封裝
- 7.1 構造函數概述與默認構造函數
- 7.2 構造函數與一般函數的區別
- 7.3 構造函數的重載
- 7.4 構造函數的內存加載
- 7.5 構造函數需要注意的幾個細節
- 7.6 this關鍵字的原理
- 7.7 this關鍵字的細節與應用
- 8.1 static關鍵字之特點
- 8.2 成員變量與靜態變量的區別
- 8.3 static關鍵字使用的注意細節
- 8.4 main函數的解析與細節
- 8.5 static關鍵字的使用場景
- 8.6 靜態的內存加載
- 8.7 靜態代碼塊
- 8.8 構造代碼塊
- 9.1 繼承
- 9.2 單繼承與多重繼承
- 9.3 子父類中成員變量特征體現