今天實在是太累了,休息了一會,繼續寫部落格。今天還是繼續研究泛型的問題,通過這兩天寫部落格的經歷,發現這既是乙個很困難的過程,也是非常有收穫的一種學習方法。廢話不多說,直接上**:
class holder
public
holder(t val)
public
void
set(t arg)
public t get()
public
boolean
equals(object obj)
}public
class
captureconversion
static
void f2(holder<?> holder)
/* f2方法中是將無界萬用字元作為引數,在f2方法中引數型別**獲,然後被傳送給f1方法,
* 但是在f2整個方法中t引數都是未知的*/
@suppresswarnings("rawtypes")
public
static
void
main(string args)
}
總結一下捕獲轉換的使用要點就是:當乙個容器由乙個特定的型別引數轉換為原型或者是萬用字元』?』時,可以通過先用乙個使用』?』的方法儲存容器,再將容器作為引數傳遞給泛型方法。例如上面**中f2呼叫了f1,這樣就可以在泛型方法中使用確切的引數型別。 java中的向上轉型和向下轉型
向下轉型 子類引用指向父類引用的子類物件,有點抽象,下面會舉個例子 向上轉型 父類引用指向子類的物件時稱為向上轉型 employee employee new manager 向上轉型 manager manager manager employee 向下轉型 編譯 執行通過,因為employee本...
java中向上轉型和向下轉型
轉型是在繼承的基礎上而言的,繼承是物件導向語言中,復用的一種機制,通過繼承,子類可以復用父類的功能,如果父類不能滿足當前子類的需求,則子類可以重寫父類中的方法來加以擴充套件。向上轉型 子類引用的物件轉換為父類型別稱為向上轉型。通俗地說就是是將子類物件轉為父類物件。此處父類物件可以是介面 向下轉型 父...
java中的繼承 向上轉型
在學習完繼承和多型後,了解到使用繼承的乙個好處。看下面的例子 public class british extends people public class people public class american extends people public class italian exten...