如代碼所示
這是一個自己定義的泛型類
public class Generic<T>{ //T可以換成任意字母
public static class Fruit{
}
public static class apple extends Fruit{
}
private T key;
public Generic(T t) { //泛型構造方法形參key的型別也為T,T的型別由外部指定
}
public T getKey(){ //泛型方法getKey的回傳值型別為T,T的型別由外部指定
return key;
}
public void setKey(T t){
this.key=t;
}
}
這是具體使用的時候,發現在創建程序中,構造方法傳參不能使用指定型別的子類,但是使用方法的時候又可以,不是很明白為什么
public class Question {
public static void main(String[] args) {
//報錯
//Generic<Generic.Fruit> generic2=new Generic<>(new Generic.apple());
Generic<Generic.Fruit> generic=new Generic<>(new Generic.Fruit());
generic.setKey(new Generic.apple());
}
}
uj5u.com熱心網友回復:
Generic<Generic.Fruit> generic2=new Generic<>(new Generic.apple());
你在好好看,這句話不報錯
uj5u.com熱心網友回復:
報錯的
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/249223.html
標籤:Eclipse
