Java零基礎學習-----JAVA核心類庫(上)(一)

API使用和常用包的概述

常用類的概述和使用

常用的包(熟悉)

包的名稱和功能

1.java.lang包,該包是java語言的和辛堡,並且該包中所有內容由java虛擬機自動導入。

如System類,String類,…..

2.java.util包,該包是java語言的工具包,裏面提供了大量工具類以及集合類等。

如:Scanner類,Random類,List集合….

3.java.io包,該包是java語言中的輸入輸出包,裏面提供了大量讀寫文件相關的類等。

如:FileInputStream類,FileOutputStream類,…….

4.java.net包,該包是java語言中的網絡包,裏面提供了大量網絡編程相關的類等。

如:ServletSocket類,Socket類….

5.java.sql包,該包是java語言中的數據包,裏面提供了大量操作數據庫的接口等。

如:DriverManager類,Connect接口,…..

 

java程序員在編寫時可以使用大量的類庫,因此java編程時需要記得很多,對象編程編程能力本身不是特別的高。

 

Object類的概念和構造方法

 

1.Java.lang.Object類是java語言中類層次結構的根類,也就是說任何一個類都是該類的直接或者間接子類

2.如果定義一個java類時沒有使用extends關鍵字聲明其父類,則其父類爲java.lang.Object類。Object定義了“對象”的基本行爲,被子類默認繼承。

 

常用方法:

 

 

 

 

多態:當父類類型的引用指向子類類型的對象時

 

equals方法默認功能的使用:

 

源碼:

Object類:

public boolean equals(Object obj){

return (this==obj);

}

 

因爲所有沒有父類的類都是默認繼承Object類,所以我們可以在子類中重寫Object中的方法。

重寫

@Override

 

public boolean equals(Object obj){

//判斷obj指向的對象是否爲Student類型的對象,若是則條件成立,否則條件不成立

If(obj instanceof Student){

Student ts=(Studeng) obj;

Return this.getId()=ts.getId();

}

return false;

}

優化:

public boolean equals(Object obj){

//當調用對象和參數對象指向同一個對象時,則一定相同;

If(this==obj){return true;}

//當調用對象不爲空而參數對象爲空時,則內容一定不相同。

If(null==object){ return false; }

//判斷obj指向的對象是否爲Student類型的對象,若是則條件成立,否則條件不成立

If(obj instanceof Student){

Student ts=(Studeng) obj;

Return this.getId()=ts.getId();

}

return false;

}

 

 

 

 

請注意,通常需要在重寫此方法時覆蓋hashCode方法,以便維護hashCode方法的常規協定,該方法聲明相等對象必須具有相等的哈希代碼。

 

 

hashCode方法的重寫實現:

爲了使hashCode方法的結果和equals方法的結果保持一致,從而滿足官方的常規協定,需要重寫該方法。

@Override

public int hashCode(){

final int type=12;

return type*31+getId();

}

 

toString()方法的重寫:

 

爲了返回更有意義的字符串數據,則需要重寫該方法

@Override

Public String toString(){

return "Student[id="+getId()+",name="+getName()+"]";

}
 

 

 

以姓名爲基準來判斷:

public boolean equals(Object obj){

//當調用對象和參數對象指向同一個對象時,則一定相同;

If(this==obj){return true;}

//當調用對象不爲空而參數對象爲空時,則內容一定不相同。

If(null==object){ return false; }

//判斷obj指向的對象是否爲Student類型的對象,若是則條件成立,否則條件不成立

If(obj instanceof Student){

Student ts=(Studeng) obj;

//判斷兩個字符串的地址是否相同的地址

//Return this.getName()=ts.getName();

//只是比較兩個字符串內容是否相同,看String類中的源碼,String類繼承了Object類,並重寫了equals方法。

Return this.getName().equals(ts.getName());

}

return false;

}

 

 

 

 

 

equals方法和hashCode

Idea中可以自動生成equals和hashCode方法。

 

 

 

 

包裝類的概念和分類:

 

  通常情況下基本數據類型的變量不是對象,爲了滿足萬物皆對象的理念就需要對基本數據類型的變

量進行打包封裝處理變成對象,而負責將這些變量聲明爲成員變量進行對象化處理的相關類,叫做包裝

類。

如:

Person p = new Person();

int num = 10;

 

 

包裝類的分類

 

 

Integer類的概念和構造方式

 

1.基本概念:

Java.lang.Integer類內部包裝了一個int類型的變量作爲成員變量,主要用於實現對int類型的包裝並提供int類型到String類之間的轉換等方法。

2.常用的常量:

3.常用方法:

 

 

Integer類的裝箱和拆箱機制

//valueOf方法相當於從int類型到Integer類型的轉換,叫做裝箱

Integer it=Integer.valueOf(123);

//獲取調用對象中的證書數值,相當於Integer類型到int類型的對象的轉換,這個過程叫拆箱

Int ia=it.intValue();

 

//從java5開始增加了自動裝箱和拆箱機制

Integer it=100;//直接通過賦值運算符實現自動裝箱

Int ib=5;//直接通過賦值運算實現自動拆箱

 

 

裝箱和拆箱的筆試題:

 

Integer it6=128;

Integer it7=128;

Integer it8=new integer(value:128);

Integer it9=new integer(value:128);

System.out.println(it6==it7); //比較地址 false

System.out.println(it6.equals(it7));  //比較內容 true;

System.out.println(it8==it9);  //比較地址 false

System.out.println(it8.equals(it9));  //比較內容 true;

 

 

 

Integer it6=127;

Integer it7=127;

Integer it8=new integer(value:127);

Integer it9=new integer(value:127);

System.out.println(it6==it7); //比較地址 true   (自動裝箱池)

System.out.println(it6.equals(it7));  //比較內容 true;

System.out.println(it8==it9);  //比較地址 false

System.out.println(it8.equals(it9));  //比較內容 true;

 

4.裝箱和拆箱的概念

在Java5發佈之前使用包裝類對象進行運算時,需要較爲繁瑣的“拆箱”和“裝箱”操作;即運算前先將

包裝類對象拆分爲基本類型數據,運算後再將結果封裝成包裝類對象。

從Java5開始增加了自動拆箱和自動裝箱的功能。

 

 

5.自動裝箱池

在Integer類的內部提供了自動裝箱池技術,將-128到127之間的整數已經裝箱完畢,當程序中使用

該範圍之間的整數時,無需裝箱直接取用自動裝箱池中的對象即可,從而提高效率

 

 

Double類的概念:

1.基本概念

  java.lang.Double類型內部包裝了一個double類型的變量作爲成員變量,主要用於實現對double

類型的包裝並提供double類型到String類之間的轉換等方法。

 

2.常用的常量

 

3.常用的方法:

 

擴展:

java.lang.Number類是個抽象類,是上述類的父類來描述所有類共有的成員。

 

//實現了從double到Double類型的轉換,裝箱

Double db1=Double.valueOf(3.14);

//實現了Double到double類型的轉換,拆箱

double db1=doubleValue();

 

//從java5開始實現自動裝箱和自動拆箱

Double db2=3.14;

Double d2=db2;

 

 

 

Boolean類的概念和使用

 

基本概念:

java.lang.Boolean類型內部包裝了一個boolean類型的變量作爲成員變量,主要用於實現對

boolean類型的包裝並提供boolean類型到String類之間的轉換等方法。

 

常用的常量

 

常用的方法:

 

Character·類的概念和使用

1.基本概念:

java.lang.Character類型內部包裝了一個char類型的變量作爲成員變量,主要用於實現對char類型

的包裝並提供字符類別的判斷和轉換等方法。

2.常用的常量:

3.常用的方法:

 

包裝類的總結:

1.基本數據類型轉換爲對應包裝類的方式

調用包裝類的構造方法或靜態方法即可

2.獲取包裝類對象中基本數據類型變量數值的方式

調用包裝類中的xxxValue方法即可

3.字符串轉換爲基本數據類型的方式

調用包裝類中的parseXxx方法即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章