1.二維數組 定義:一維數組中的一維數組;數組中的元素,還是數組。 //二維數組初始化 int[][] b=new int[行號(高維下標)][列號(低維下標)]; int[][] b={{1,2,3},{4,5,6}}; //二維數組遍歷 2.在類中定義的變數:成員變數 在類中定義的方法:成員方法 ...
1.二維數組
定義:一維數組中的一維數組;數組中的元素,還是數組。
//二維數組初始化
int[][] b=new int[行號(高維下標)][列號(低維下標)];
int[][] b={{1,2,3},{4,5,6}};
//二維數組遍歷
1 //二維數組遍歷 2 int[][] b={{1,2,3},{3,4,5,6,7}}; 3 for (int i=0;i<b.length ;i++ ) 4 { 5 for (int j=0;j<b[i].length ;j++ ) 6 { 7 System.out.println(b[i][j]); 8 } 9 }
2.在類中定義的變數:成員變數
在類中定義的方法:成員方法
在方法中定義的變數:局部變數
3.局部變數和成員變數的對比:
1.局部變數沒有預設值
成員變數有預設值
2.局部變數隨著其所在函數被調用而在棧中開闢空間
成員變數隨著對象的創建而在堆中開闢記憶體
3.局部變數是其作用域結束了就立刻釋放記憶體
成員變數只有在其所屬的對象被垃圾回收線程回收了,才能釋放記憶體
4.局部變數的作用域是從其定義的位置開始到其所在的大括弧結束
成員變數的作用域是整個類
new Car();//如果沒有變數接收,則這行代碼運行完就變成垃圾了,等待垃圾回收線程
4.面向對象:封裝,繼承,多態
封裝:只對外提供有用的屬性和行為
不需要讓外界知道的功能,使用private修飾,但是為仍然可以給屬性賦值,需要提供setXXX()方法
為了能得帶屬性的值,需要提供(getXXX)無法
構造函數:用來創建對象的,系統會自動的在類中加入一個構造函數
1 class Student{ 2 3 String name; 4 int age; 5 6 Student(){} 7 8 Student(String mingzi,int nianling) 9 { 10 name=mingzi; 11 age = nianling; 12 } 13 }
可以自己當以構造函數,如果自己定義了構造函數,那麼系統就不會在添加預設構造方法
構造函數特點:
1,函數名和類名相同
2.不能有返回值類型
3.只能用戶常見創建對象
使用的是系統讓集中隊伍民開分
構造函數名金額
可以使用構造函數實現家暴複製
實現屬性的初始化
student stu=new srdent();類中有系統自動加入的構造函數: Student(){}
自己可以寫構造函數,那麼系統就不會再加入構造函數
5.this:是一個引用,總是指向當前被使用的對象
當局部變數和成員變數同名時,成員變數無效時,為了區分需要使用this
在構造方法之間調用時,如果使用this,this必須寫在第一行。
6.static關鍵字:
static修飾成員變數的特點:
1:static修飾的成員變數是隨著類的載入而在方法區中的靜態區開闢記憶體的
2:static修飾的成員變數是其所屬類的所有對象共用的
3:static修飾的成員變數可以通過類直接訪問,也可以通過對象訪問
缺點:占用記憶體時間太長(因為靜態變數是存儲在方法區的靜態區中的,整個程式運行結束才會釋放記憶體)
靜態的優先於非靜態的開闢記憶體