對象的行為:
1、內存分配(棧和堆的區別)
棧:保存局部變量的值(用來保存基本數據類型的值;保存類的實例的引用)
對:用來存放動態產生的數據,比如new出來的對象
2、調用方法
方法返回一個值、方法不返回值、方法拋出一個異常給方法的調用者
1 public class Date{ 2 public int day,month,year; 3 4 public int getDay(){//返回整型 5 System.out.println("在getDay方法內部"); 6 return day; 7 } 8 public void printDate(){//不返回值 9 System.out.println("在printDate方法內部"); 10 System.out.println(month+"/"+day+"/"+year); 11 } 12 }
3、方法簽名
包括:1)訪問修飾符public允許從任何地方調用該方法、private除了在類內部以外其他皆不可以調用、protected和默認訪問修飾符分別適用於繼承和包。
2)可選修飾符static、final、abstract、native、synchronized、native
3)返回值(方法簽名必須包括返回值的類型)
4)方法名(方法簽名必須出現在返回值之后,使用駝峰命名法)
5)形式參數列表(在方法名的后面必須是用一對括號括起來的形式參數列表)
6)拋出的異常列表
注意:用static修飾的為靜態成員,為類的所有對象共享(分配1個空間);在靜態方法中,只能直接調用靜態成員,不能直接調用非靜態成員;成員方法中,可以直接調用靜態成員與非靜態成員。
4、形式參數與實際參數
形式參數列表:用於聲明傳遞到方法中的數據類型
實際參數:傳遞給形式參數的數據
5、方法重載
含義:一個類有兩到多個同名但是有不同參數列表的方法
要求:參數類型不同、參數個數不同、參數列表不同
例如:1)public float computePay(double d,int x);
public float computePay(double d);
2)public void setDay(int x,int y,long z);
public boolean setDay(long a,int b,int c);
6、構造器(構造方法)
用途:在對象實例化時被調用,初始化對象中的成員變量
屬性:名字與類名一致;沒有返回值類型
注意:1)默認情況下,類中有一個無參構造方法;2)當寫出帶參構造方法系統默認的無參構造方法就不再生成
格式:
1 public class Radio{ 2 public int channel; 3 public Radio(){}//默認構造器 4 public Radio(int c){//帶參構造器 5 channel=c; 6 } 7 }
通過this();構造器調用其他構造器,必須是構造器中的第一句可執行語句;
數組:
7、數組:
含義:存儲在一個連續的內存塊中的元素集合,每個元素是相同的數據類型,通過索引進行區分,第一個元素的索引為0;
聲明並分配空間:double[] temps=new double[30];
聲明並分配空間時元素初始化:int score=new int[]{1,2,3....};或者int[] score={1,2,3....};
8、數組長度
1)ArrayIndexoutofBoundsException:數組下標越界
2)數組是對象是引用數據類型
3)length屬性代表數組的大小:
1 public void register(){ 2 Scanner input = new Scanner(System.in); 3 4 for(int i = 0; i < users.length; i++){ 5 if (users[i] == null){ 6 users[i] = new User(); 7 System.out.print("用戶名:"); 8 users[i].username = input.next(); 9 System.out.print("密碼:"); 10 users[i].password = input.next(); 11 break; 12 } 13 }
4)foreach:用於數組組成或集合遍歷
1 public void showAllUsers(){ 2 for (User user : users) { 3 if (user != null) 4 System.out.println(user); 5 } 6 }
9、引用數組
如下聲明了一個Employee類型的引用數組:Employee [] 數組名;
對象數組:單個元素類型[] 數組名=new 類型[長度](User[] users=new User[100;])
10、String類的方法摘要(JDK_API_1_6_zh_CN.CHM文檔)