1. java中的getInstance()
UserSession 這個類的構造函數是私有的,是一個單例模式,getInstance()相當於獲取它的實例對象;checkIsSessionOutAndSetVc這個就是這個對象里的方法。
2. 在java中instance的用法
是instanceof還是instance?
instanceof是Java的一個二元操作符,和==,>,<是同一類東東。由於它是由字母組成的,所以也是Java的保留關鍵字。它的作用是測試它左邊的對象是否是它右邊的類的實例,返回boolean類型的數據。舉個例子:
String s = "I AM an Object!";
boolean isObject = s instanceof Object;
我們聲明了一個String對象引用,指向一個String對象,然後用instancof來測試它所指向的對象是否是Object類的一個實例,顯然,這是真的,所以返回true,也就是isObject的值為True。
instanceof有一些用處。比如我們寫了一個處理賬單的系統,其中有這樣三個類:
public class Bill {//省略細節}
public class PhoneBill extends Bill {//省略細節}
public class GasBill extends Bill {//省略細節}
在處理程序里有一個方法,接受一個Bill類型的對象,計算金額。假設兩種賬單計算方法不同,而傳入的Bill對象可能是兩種中的任何一種,所以要用instanceof來判斷:
public double calculate(Bill bill) {
if (bill instanceof PhoneBill) {
//計算電話賬單
}
if (bill instanceof GasBill) {
//計算燃氣賬單
}
...
}
這樣就可以用一個方法處理兩種子類。
然而,這種做法通常被認為是沒有好好利用面向對象中的多態性。其實上面的功能要求用方法重載完全可以實現,這是面向對象變成應有的做法,避免回到結構化編程模式。只要提供兩個名字和返回值都相同,接受參數類型不同的方法就可以了:
public double calculate(PhoneBill bill) {
//計算電話賬單
}
public double calculate(GasBill bill) {
//計算燃氣賬單
}
所以,使用instanceof在絕大多數情況下並不是推薦的做法,應當好好利用多態。
instance的話,不知道 ,一般我們定義獲取實例的時候 寫個 getInstance的方法//
3. java getInstance() 大俠們幫我解釋一下代碼
當構造方法需要私有化時 可以使用這個方法 使用類名.getInstance()返回一個實例
當private Util(){}//該方法被私有化 外部無法直接調用 無法使用new 產生實例
但是內部沒有限制 可以使用new Util()
所以 當外部需要獲取實例的時候 就使用該靜態方法 類名.getInstance()返回一個實例
4. java常用函數方法
我來為你一一解答這些問題吧:不過這些JDK都有為什麼還問啦?
String a="1235"; int d=Interger.parment(a);
b.indexof(3);
b.enqules(f)
c.length()
f.trim
這些都是JDK的方法,可能有些字母打錯啦,我隨手打的,不過用eclipse或myeclipse都可以點出來,分給我,OK
5. java中getInstance和newInstance的區別
getinstance是已經有了一個instance,你使用方法獲取到這個對象。
newinstance是沒有這個對象,你使用構造方法創建一個對象出來。
6. java問題
Singleton sg1=new Singleton.getInstance();
Singleton sg2=new Singleton.getInstance();
改為
Singleton sg1=Singleton.getInstance();
Singleton sg2=Singleton.getInstance();
new 是用來創建對象的。 static 方法是用調用的。 Singleton.getInstance(); 就是用來獲取一個對象的,是一個方法的調用,不能用 new ,在getInstance(); 內部已經new 對象了。
7. java 中Calendar.getInstance() 實現的是什麼
Calendar類是個抽象類,因此本身不能被實例化,然而在此卻創建了Calendar 的對象,但並不是抽象類可以創建對象。這個對象並不是Calendar 自身實例,而是其子類實例,這是在getInstance方法內部其實是實例化了GregorianCalendar 對象並返回了。
這里還反映了一種設計模式,很多模式里都用到getInstance方法來生成一對象,類中static 變數和方法可通過 類名.××訪問。
8. java中getInstance()的用法
getinstance這個方法在單例模式用的甚多,為了避免對內存造成浪費,直到需要實例化該類的時候才將其實例化,所以用getInstance來獲取該對象,至於其他時候,也就是為了簡便而已,為了不讓程序在實例化對象的時候,不用每次都用new關鍵字,索性提供一個instance方法,讓程序員書寫簡潔方便!
比如下例:
private static Control ControlAdapter = null;
public static Control getInstance(){
if(ControlAdapter == null)
ControlAdapter = new ControlAdapter();
return ControlAdapter;
}
9. java 中文姓名排序!!!
import java.util.*;
import java.text.*;
public class SortByChinese {
//測試
public static void main(String[] args) {
String[] a1 = {"保定","何子安","於小雲","劉帝","劉何保定子安","劉","劉娜","家強","劉博"};
getSortOfChinese(a1);
for (int i = 0; i < a1.length; i++) {
System.out.println(a1[i]);
}
}
/**
*
* @param a String[]
* @return String[]
*/
public static String[] getSortOfChinese(String[] a) {
// Collator 類是用來執行區分語言環境這里使用CHINA
Comparator cmp = Collator.getInstance(java.util.Locale.CHINA);
// JDKz自帶對數組進行排序。
Arrays.sort(a, cmp);
return a;
}
}
自己測試哦!