Java面向對象入門的理解

首先要清楚類和對象的關係,以及他們數據成員和成員函數的意義:
先來個抽象一點的感受一下—>_—>
在這裏插入圖片描述
也就是說,類是對象的抽象,而對象是類在現實中的實體,這個實體可以是任何東西,人,物,抽象概念等等

先來一個比較經典的容易理解的經典例子!
我們要模擬一隻貓,就要先對一隻貓進行抽象,它有名字,會叫,分別對應這隻貓的屬性和行爲,在代碼裏面,我們分別定義爲字符串數據name,也即它的名字;和無參方法,cry,也就是叫的行爲,方法裏面是輸出叫聲
然後再主方法裏面創建一個貓的對象,並且起一個名字,然後調用叫的方法即可
在這裏插入圖片描述
怎麼樣,有點感覺了吧

在步入主題之前,再用一個稍難的例子,介紹一下靜態函數與類的成員函數的區別(直接上圖):

這是他們調用方式上的區別,顯然:如果函數定義爲static,那麼不需要創建“類的對象”就可以直接 函數 調用或者通過 類名.函數。

在這裏插入圖片描述

那個創建一個類需要什麼呢?仍然用這個較難的例子
首先創建一個類Matrix,即矩陣
一下給出代碼的含義,這就是實體的抽象的結果,矩陣實體被分爲數據(屬性),構造(構成要素),方法(行爲)
首先說明這裏的this的含義,this就可以理解爲 自己,因爲構造函數傳遞過來的m和自己的屬性m不一樣,爲了區別,this.m就是自己的m,而另一個m是構造函數的形式參數。
在這裏插入圖片描述
那麼如何根據矩陣抽象類型創建一個實體呢?
你可以在另一個類Test的main函數裏面,或者Matrix的main函數裏面寫入以下代碼(當然,任何函數裏面都可以):

int[][] element = {{1, 2, 3},{6, 5, 4},{8 ,9 ,7}};
Matrix matrix = new Matrix(3, 3, element);
//與上述構造方法對應,傳入行數3,列數3,矩陣元素的數組element,用於構造一個矩陣。當如此操作之後,matrix的屬性row就等於3,column等於3,元素element就等於這裏的element。

可見,剛剛的矩陣類也可以作爲一種數據類型了,這就是引用類型,之前學習的int,double, char都是基本類型,而學習數組的時候有用過new,比如
int[] array = new array[3];,數組也是引用類型,new就是創建一個數組實體的意思。

然後可以通過 . 來調用這個矩陣實體的對象的屬性

System.out.println("矩陣的行數是 "+matrix.rows);
System.out.println("矩陣第3行2列的元素是: "+ matrix.element[2][1]);

輸出的結果是:
矩陣的行數是 3
矩陣第3行2列的元素是: 9

以上是查詢矩陣的屬性的過程,您也可以在Matrix裏面(不是main函數裏面就行)寫入一下方法作爲矩陣的行爲:設置某個元素的數值

public void set(int i, int j, int x) {
		if (i >= 0 && j >= 0 && i < this.rows && j < this.columns)
			this.element[i][j] = x;
		throw new IndexOutOfBoundsException("i="+i+", j="+j);
}

然後主函數裏面
matrix.set(2, 2, 4);
這樣就把矩陣的第三行第三列的元素設置爲了4

System.out.println(matrix.element[2][2]);
結果爲4

怎樣,簡單吧,這就入門了!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章