Java學習筆記--承繼和多態(下)。本站提示廣大學習愛好者:(Java學習筆記--承繼和多態(下))文章只能為提供參考,不一定能成為您想要的結果。以下是Java學習筆記--承繼和多態(下)正文
1.經過承繼來開發超類(superclass)
2.運用super 關鍵詞喚起超類的結構辦法
3.在超類中掩蓋辦法
4.區分override和overload
5.在Object類中探究toString()類
6.發現多態性和靜態綁定
7.描繪解釋為什麼向下轉型是必需的
8.在Object類中探究equals 辦法
9.存儲,取回,完成ArrayList的對象
10.運用ArrayList類完成Stack
11.超類中運用數據和辦法,protected
12.運用final模塊來制止類和辦法的掩蓋
9.存儲,取回,完成ArrayList的對象
ArrayList類,這個類關於存儲對象來說很有用,你可以創立數組來存儲對象,但是一旦數組創立終了,它的大小曾經固定了。Java提供了ArrayList類用來存儲不限量的對象。
ArrayList 辦法區
ArrayList() 創立一個空的類 add(o:Object): void 在列表的末尾參加一個元素 add(index: int, o:Object): void 在列表的某個特殊地位參加對象 clear():void 將列表清空 contains(o: Object):boolean 能否包括某個對象 get(index: int):Object 前往某個地位的元素 indexOf(o: Object ) : int 前往某個元素的地位 isEmpty():boolean 判別能否為空的列表 lastIndexOf(o: Object): int 最後一個對象的地位 remove(o : Object): boolean 婚配元素並從表中移除 size(): int 表的大小 set(index: int, o:Object):Object 設置某個地位上的元素TestArrayList.java
public class TestArrayList { public static void main(String[] args){ java.util.ArrayList cityList = new java.util.ArrayList(); cityList.add("Beijing"); cityList.add("Shanghai"); cityList.add("Tianjin"); cityList.add("Xiamen"); cityList.add("Fuzhou"); System.out.println("List Size?"+cityList.size()); System.out.println("Is Guangzhou in the list ? The answer is "+cityList.contains("Guangzhou")); System.out.println("The location of Shanghai in the list? The answer is "+cityList.indexOf("Shanghai")); System.out.println("Is the list is empty? The answer is "+ cityList.isEmpty()); cityList.add(2, "Hangzhou"); cityList.remove("Tianjin"); cityList.remove(1); System.out.println(cityList.toString()); for(int i = cityList.size()-1 ;i>=0;i--) System.out.println(cityList.get(i)+" "); } }
顯示後果如下
這個對象當成字符串數組來運用,假如說存儲對象了?
添加以下代碼
list.add(new Circle(1, 2.5)); list.add(new Circle(2, 15.5)); for (int i = 0 ; i<2;i++) System.out.println("The area of the circle"+((Circle) list.get(i)).number() + " is + "+ (Circle)list.get(i).GetArea() );
在本來沒停止類型轉換的時分會發現編譯器報錯了
關於類型轉換可以參考以前的筆記。
10.運用ArrayList類完成Stack關於棧的運用,Stack棧也是一種線性表,只不過這種線性表比擬特殊,只能在表尾停止拔出和彈出,對下面的例子停止更改,push和pop,只需在push辦法中調用對應的辦法。
數據區域
存對象
size
辦法區
push: 找到隊尾停止插拔出
pop:找到隊尾,停止get(index: int):Object並刪除隊尾 +remove(index: int): boolean
GetTop: 依照ArrayList類的辦法修正即可
11.超類中運用數據和辦法,protected假如想要子類取得父類的數據和辦法,非子類不能訪問這些數據和辦法。
將後面所學 public private protected
public 區域塊塊可以修正,pirvate 的區域塊 子類不可以直接訪問, protected的區域塊可見但是不可改。
數據和辦法的可見性
其他類 相反包 子類 不同包 public true true true true protected true true true -- defaul true true -- -- private true -- -- --
12.運用final模塊來制止類和辦法的掩蓋
final 關鍵詞
public fina class c{ ..... }
public class Test{ public final void main(){ ....... } }