java泛型问题
publicclassfruit{publicfruit(){System.out.println("Iamfruit!");}}publicclassappleexte...
public class fruit{
public fruit(){
System.out.println("I am fruit!");
}
}
public class apple extends fruit{
public apple(){
System.out.println("I am apple!");
}
}
public class pear extends fruit{
public pear(){
System.out.println("I am pear!");
}
}
import java.util.*;
public class shuoguo{
List<apple> apples = new ArrayList<apple>();
List<? extends fruit> fruits = apples;
fruits.add(new pear());
}
运行时总出现错误
传错图片了,是这张 展开
public fruit(){
System.out.println("I am fruit!");
}
}
public class apple extends fruit{
public apple(){
System.out.println("I am apple!");
}
}
public class pear extends fruit{
public pear(){
System.out.println("I am pear!");
}
}
import java.util.*;
public class shuoguo{
List<apple> apples = new ArrayList<apple>();
List<? extends fruit> fruits = apples;
fruits.add(new pear());
}
运行时总出现错误
传错图片了,是这张 展开
3个回答
展开全部
List<? extends fruit> fruits = apples;
fruits.add(new pear());
这两句有问题,你fruits现在放的都是apples,为什么又new pear呢?
这个是不允许的。
fruits.add(new pear());
这两句有问题,你fruits现在放的都是apples,为什么又new pear呢?
这个是不允许的。
更多追问追答
追问
但是改成new apple()的话也不对,报错还是跟现在一模一样
追答
这里不能用List fruits进行添加操作,这个是不允许的。
public static void main(String[] args){
List fruit = new ArrayList();
fruit.add(new apple());
fruit.add(new pear());
}
这种是可以的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-11-25
展开全部
不太清楚这种写法,但我知道这样是可以的。直接用多态就行了,苹果和梨子都可以添加。
List<fruit> fruits= new ArrayList<fruit>();
fruits.add(new apple());
fruits.add(new pear());
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询