1. 程式人生 > >2018.10.18課堂筆記HashMap之前

2018.10.18課堂筆記HashMap之前

1.按shift可以多選多個檔案,選不相鄰的檔案按ctrl再選,全選ctrl+A,只取消其中兩個可按ctrl+所選
2.搜尋:單擊我的電腦中搜索--輸入要找的檔案的名字;如果記不清楚可點行動硬碟輸入查詢
3,。如何查詢我的:電腦的屬性驅動器,檔案和資料夾的屬性,
4.對映網路驅動器;網路上的芳鄰---對映網路驅動器--選擇碟符---輸入目標資料夾地址---完成


父類引用 指向 子類物件
pet get

1.pet 作為引數 方法會根據處近來的具體物件,
如果呼叫子類的特有方法,需要向下轉型Dog dog=(Dog) pet;
if(petinstanceofDog)
抽象類
父類中 寵物 動物 人
都有共同方法,方法中具體實現每個子類都不同,父類中的方法就可以改寫為抽象法
抽象類中可以沒有抽象方法
private 方法只能在貝類中使用,如果抽象就是要被子類重寫
關鍵字:final
修飾類 被能被繼承
修飾的是物件型別,引用型別,
介面:介面可以認為是特殊的抽象類,介面中的方法都是抽象方法
類:繼承extends 只能有一個父類
interface 介面介面的出現就擴充套件了 介面之間是多繼承extends
類和介面之間是實現關係,implements十多實現一個類可以實現多個介面
抽象類

10.10介面interface implements
語法
piblic interface IService{
//沒有構造方法 不能被例項化
靜態常兩
全部都是抽象方法

注意Java旨在介面之家In1 extends
class類名 implements 介面1.2.3
用法介面是一種能力。約定
類魚類的繼承 子類is a父類
實現關係類 hasa介面的的能力
繼承多肽
pet pet=new Dog();
pet.show();
pet.eat();
Dog dog=(Dog)pet;
dog.playFllyDish();
藉口不能被實力化
抽象類和介面的區別
抽象類 關鍵字 abstract 類
不同 構造方法
抽象類可以有構造方法可以有非構造方法

介面:成員變數預設都是靜態常兩static fanl
普通類實現介面後,要全部重寫介面中的抽象方法,新增
相同都不能例項化


}
介面的特性
不可以被例項化
實現類必須實現介面的所有方法
實現類可以實現多個介面
變數都是靜態常量
介面沒優勢下按任何功能
抽象類可以有構造方法

10.11
異常
API幫助文件
Exception
MisMatchException 輸入資料型別不匹配的異常
str.equals(str2);nullpointer Exception
陣列 IndexOutofBounds Exception
5/2 結果為2;
5%2 結果為1;
try {

}
catch

finally無論發生什麼異常都能執行

throw
throws

如果


10.12
複習
異常
object
Throwable
Error錯誤 Exception異常
5-6異常
執行時異常
InputMismatchException
ArrayIndexOutofBoundsException
NullPointerException Stringstr=null;

Student stu;Pet pet=new Dog

ClassCastException
ClassNotFoundException

AritheticException

編譯時異常
void setSex(String gender)throwsException{


}

main(){

setSex("");//需要異常處理 2中 throws try-catch-finally
}

throws異常丟擲throws(宣告異常)方法名()throws
throw寫在方法體內
方法名()throws異常
throws new Exception();

try 部分是有可能產生異常的程式碼
catch寫的是有異常後處理部分的程式碼System.err.print();
System.out.print();
System.exit(1)
retrrn;
finally無論是否發生異常都執行

 


try{


catch
自定義異常
建立一個類繼承Exception或Throwable

public class GenderException extendsException{
public GenderException(){


}
public GenderException(String message){


}

catch( GenderException ex){

ex.printStackTrace();
ex.getmessage();

}
3.Log4j(異常日誌)
第一步:點選專案名稱 建立folder

1.複製-貼上在專案工程中-
2.建立new--file(檔案)--log4j.properties(檔名不動)

3.註釋符(###)

常見的輸出級別alfat>error>wam>info>debug

10.16
集合框架
Collection 介面 單離及合
list

add(object o)
List 子介面 可以get(int index)可以用下標訪問;
add(object o)
add(int index object o)
addAll(Collection c)
get

Arraylist 實現類,底層儲存結構和陣列相同,可以利用所引致
查詢效率高,曾山效率低
Linkedlist 底層結構是鏈式的
增刪效率高,查詢效率低
儲存的內容 元素可以重複,不唯一,有順序


list.add(Object o);
list.add(int index,Object o);
list.addAll(Collection c);
list.get(int index);
list.remove(Collection c);
list.remove(int index);


Set 子介面 元素不可以重複,唯一,沒有順序
HashSet 實現類
TreeSet
set.add(object o);
set.addAll(Collection c);
set.remove(object o);
//增強for

remove()

 


增強for 或迭代器
迭代器Iterator
Iterator it=Set .iterator();
while(it.hasNext()){
Object o=it.next(); //子類接受,徐向下轉型
}
雙列集合
Map HashMap
map put(object key, object value )
map.remove(key),
得到每個key
Set keys=map.keySet();
//增強for遍歷set中儲存的每個key
//迭代器遍歷set中儲存的每個key
map.get(objict key);//返回Object
map.remove(key),
Set keys=map.keySet();
//

Map <K,V>
K key
V
//便利方式二得到Entry鍵值對
Set entrys=map.entrySet();
//每個兼職對兒分離成鍵和值
//增強for或迭代器分離每個entry

entrys.getKey();
entrys.getvalue();
遍歷方式三
Collection c=map.values();//增強for值

//增強for或迭代器分離每個值

map.keyset();//值
//增強for或迭代器分離每個鍵

泛型集合
List<Dog>list=new ArrayList<Dog>()
Map<Interger,Dog>map=new<Interger,Dog>();

第二章 實用類
通過API查詢類 方法