這篇博客總結了半天,希望自己以後返回來看的時候理解更深刻,也希望可以起到幫助初學者的作用. 轉載請註明 出自 : "luogg的博客園" , 設計模式 在長期開發過程中,為瞭解決某些固定問題, 總結出的固定套路. 目前為止, java中的設計模式有23種, 例如: 單例模式, 適配器模式, 工廠模式 ...
這篇博客總結了半天,希望自己以後返回來看的時候理解更深刻,也希望可以起到幫助初學者的作用.
轉載請註明 出自 : luogg的博客園 ,
設計模式
在長期開發過程中,為瞭解決某些固定問題, 總結出的固定套路.
目前為止, java中的設計模式有23種, 例如: 單例模式, 適配器模式, 工廠模式, 代理模式 ...
單例設計模式
1, 正常情況下, 一個類可以創建多個對象, 但會對記憶體負擔, 採用單例設計模式是通過一個類, 創建一個對象, 不管外界對該類使用多少次, 使用的對象只有一個, 很大程度上減少了對記憶體的負擔.
2, 構造方法私有化, 外界不可以通過new關鍵字再創建對象
類內部創建一個對象,和帶有返回對象的instance方法,用static修飾
輸出結果: true
適配模式
1, 一個類要實現一個藉口或者繼承一個類的時候, 需要覆寫他們的全部方法, 多數情況下, 子類用不到全部方法, 那麼, 再子類和抽象類或者藉口之間添加一個中介"適配器" , 子類就可以按照自己的需求來複寫方法了, 不需要全部覆寫了.
2, adapter類實現介面或者繼承抽象類, 然後重寫所有的抽象方法, 子類繼承apapter類, 覆寫自己所需方法即可 .子類中不可以寫main方法
初始API
api又叫坐"類庫",
API中常用包
Object類
1, Object類是java中所有類的公共父類, 一個類只要沒有明顯的繼承一個類, 那麼肯定是Object類的子類.
例如:class Person extends Object{} 和 class Person{} 完全一樣
String類
String 兩種實例化方式的區別:
方式一:String str = new String(“”);
方式二:String str = "";
方式一會在記憶體中開闢新的空間
方式二只要聲明字元串內容相同, 就不會開闢空間, 字元串池中, 方式二聲明好.
String類中常用的方法:
toCharArray();
charAt(int index) ;
getBytes() ;
indexOf( ) ;
indexOf(int ch, int fromIndex) ;
indexOf(String str) ;
indexOf(String str, int fromIndex) ;
isEmpty(); lastIndexOf(int ch) ; lastIndexOf(int ch, int fromIndex) ; lastIndexOf(String str) ; length() ; replace(char oldChar, char newChar) ;
replace(CharSequence target, CharSequence replacement) ; replaceAll(String regex, String replacement) ; split(String regex) ; split(String regex, int limit) ;
startsWith(String prefix) ; startsWith(String prefix, int toffset) ; substring(int beginIndex) ; substring(int beginIndex, int endIndex) ; toLowerCase() ;
toUpperCase() ; trim() ; valueOf(boolean b) ;……
StringBuffer類
String類中的字元串內容不可以改變, 若要面對一個字元串經常被改變時, 使用String ,會產生大量數據垃圾(匿名對象) ,
StringBuffer 類的常用方法
append(……); delete(int start, int end); insert(int offset, boolean b); capacity() ; deleteCharAt(int index) ; toString()
System類
System 類提供了一些與系統相關的屬性和方法,System 類中的屬性和方法都是靜態屬性,所以在調用屬性和方法的時候直接通過類名調用就可以
常用屬性
System.err
System.out
System.in
常用方法
System.exit(n) 終止當前正在運行的 Java 虛擬機。
System .gc() : 運行垃圾回收機制,
補充: finalize():在對象回收之前做的事情,這個方法是 Object 類中的
Math類
Math 類是數學操作類。這個類中提供的是一系列的數學操作方法,比如:求絕對值、平均值,四捨五入……
日期類
Date類
可以獲取到系統當前時間, Date d = new Date(); 但是格式不好看
Calendar類
Calendar 類可以將時間精確到毫秒,但本身是個抽象類,要想創建 Calendar 類的對象,
有兩種辦法: 依靠多態性,創建子類(GregorianCalendar)的對象實例
使用自身的靜態方法 getInstance() 方法創建對象
DateFormat類
public class DateFormatTest {
public static void main(String[] args) {
DateFormat datef = DateFormat.getDateInstance();
DateFormat datef2 = DateFormat.getDateTimeInstance();
System.out.println(datef2.format(new Date()));
}
}
SimpleDateFormat類
Random類
Random 類是隨機值數產生類
Scanner類
文本掃描器