------Java培訓、Android培訓、iOS培訓、.Net培訓、期待與您交流! -------
二維數組
元素爲一維數組的數組,數組存儲的還是數組 int arr[] = { 數組 }
定義格式:
數據類型[][] 變量名 = new 數據類型[3][2];
數據類型[][] 變量名 = new 數據類型[3][]; // 每個小數組的長度不確定
數據類型[][] 變量名 = new 數據類型[][] { { },{ , },{ , , } };
簡化格式:數據類型[][] 變量名 = { { },{ , },{, , } };
注意兩種不同的定義格式:
int[] x, y[]; // x 是一維數組,y 是二維數組
[] 跟隨數據類型,所有變量都擁有
[] 跟隨變量走,只有該變量自己擁有
遍歷二維數組
int[][] array= { { 1, 2 }, { 3, 4 }, { 5, 5 } };
// 先遍歷外面大數組,遍歷過程中,遍歷裏面小數組
for (inti = 0; i < array.length; i++) {
//內循環是小數組的長度j < array[i].length
for (intj = 0; j < array[i].length; j++) {
System.out.println(array[i][j]);
}
}
面向對象
面向對象開發:創建對象,使用對象,指揮對象做事情
面向對象設計:管理和維護對象之間的關係
面向對象三大特徵:封裝 encapsulation、繼承 inheritance、多態 polymorphism
類和對象:
類是描述用來描述現實生活中具體事物的抽象描述,描述的是事物的屬性和行爲的集合體
對象是確實存在的事物
類和對象的關係:
類是一組相關的屬性和行爲的集合,是抽象的概念
對象是該類食物的具體體現,是對類的一種具體化
類的定義:
1. class類名{
2. 成員變量類型變量名稱;
3. … … …
4. 返回值類型方法名稱(參數列表){
5. 方法體………
6. }
7. …… …
8. }
定義類就是定義類的成員(成員變量和成員方法,又叫屬性和行爲)
成員變量:描述類所具有的特徵
成員方法:描述類能夠實施的行爲
創建並使用對象
使用 new 關鍵字創建對象,創建對象的過程通常稱爲實例化 格式:new 類名();
引用類型變量:爲了能夠對實例化的對象進行訪問控制,需要使用一個特殊的變量——引用。
引用類型變量可以存放該類對象的地址信息,通常稱爲“指向該類的對象”;當一個引用類型變量指向該類的對象時,就可以通過這個變量對對象實施訪問。
除8種基本類型之外,用類、接口、數組等聲明的變量都稱爲引用類型變量,簡稱“引用”。
Student stu = new Student(); //stu 就是引用,指向創建的對象“newCell()”;
通過引用訪問對象的成員變量、調用方法
stu.name = “張三”;
stu.age = 22;
stu.study();
引用類型變量的賦值:
引用類型變量存儲的是對象的地址信息。相同類型的引用類型變量之間也可以相互賦值。
引用類型變量之間的賦值不會創建新的對象,但會使兩個以上的引用指向同一個對象。
Student stu1 = stu;
// 將 stu 的值(對象的地址信息)賦給 stu1,stu1和stu指 向相同的對象
stu1.name = “李四”;
// 通過引用 stu 和 stu1 操作的是相同的對象
成員變量和局部變量的區別
定義上:
成員變量 定義在類中
局部變量 定義在方法中
作用域:
成員變量 整個類中
局部變量 方法中或者語句中
內存位置:
成員變量 跟隨對象,進入堆內存存儲
局部變量 跟隨方法,進入棧內存存儲
生命週期:
成員變量 跟隨對象的存在而存在,隨着對象的消失而消失,生命相對較長
局部變量 一旦方法或者語句結束,變量就消失,生命最短
初始化值:
成員變量 都有默認值
局部變量 沒有默認值,必須手動賦值
匿名對象 沒有變量名(引用)的對象 格式:new Student();
匿名對象可以調用成員,只能使用一次,但是可以當作參數傳遞
封裝 隱藏對象的屬性和實現細節,僅對外提供公共訪問方式
好處:提高安全性;提高代碼複用性;隔離變化和隱藏內部實現細節。
實現封裝
private 關鍵字權限修飾符 修飾的成員只能在本類中訪問
修飾類的成員,不能修飾方法的局部;提供 get set 方法
this 關鍵字 代表所在類的對象引用區分成員變量和方法中的參數重名的情況
this 關鍵字用在方法體中,用於指向調用該方法的當前對象,簡單說,哪個對象調用方法,this值得就是哪個對象。
對成員變量賦值的幾種方式:定義變量直接賦值,set 方法賦值,對象調用賦值