// exploring the meaning of wildcards.
public class wildcards
// similar to rawargs(), but errors instead of warnings:
static void unboundedarg(holder<?> holder, object arg)
static t exact1(holderholder)
static t exact2(holderholder, t arg)
static t wildsubtype(holder<? extends t> holder, t arg)
static void wildsupertype(holder<? super t> holder, t arg)
public static void main(string args)
} ///:~
public class captureconversion
static void f2(holder<?> holder)
//@suppresswarnings("unchecked")
public static void main(string args)
}
f1中的型別引數都是確切的,沒有萬用字元或邊界。f2中,f1被呼叫,而f1需要確切,引數型別在f2**獲。在方法內部,需要使用確切型別需要使用捕獲轉換。不能從f2中返回t,因為t對於f2是未知的。
練習29:
static void f3(holder> holder, list l, list<?> j)
static void f4(list> holder, list l, list<?> j)
java程式設計思想第4版第15章自限定型別筆記
古怪的迴圈泛型 基類用匯出類代替其引數。public class basicholder t get void f class subtype extends basicholder public class crgwithbasicholder output subtype 確切的型別。自限定強制...
第15章 物件導向程式設計 4
15.2.5 公有 私有和受保護的繼承 對類所繼承的成員的訪問由基類中的成員訪問級別和派生類派生列表中使用的訪問標號共同控制。每個類控制它所定義的成員的訪問。派生類可以進一步限制但不能放鬆對所繼承的成員的訪問。派生類不能訪問基類的private成員,也不能使自己的使用者能夠訪問那些成員。如果基類成員...
《Lua程式設計 第4版 》 第7章練習答案
function exercise7 1and2 filename1,filename2 local inputf,outputf if filename1 and filename2 then inputf io.open filename1,r local filetest io.open fi...