- 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧
我有这段代码:
class X {
int x = 1;
}
class Y extends X {
int y = 2;
}
class Z extends Y {
int z = 3;
}
class A {
public Y metodo1(Y y) {
System.out.println("M……继续阅读 »
Closed. This question needs to be more
focused。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅关注
editing this post的一个问题。
6年前关闭。
Improve this question
请显示一个有关Java中协方差和逆方差的好例子。
解决方案如下:
协方差……继续阅读 »
摘自Joshua Bloch的Effective Java,
数组在两个重要方面不同于通用类型。第一数组是协变的。泛型是不变的。
协变量仅表示如果X是Y的子类型,则X []也将是Y []的子类型。数组是协变的,因为字符串是Object的子类型,所以String[] is subtype of Object[]不变式仅表示X是否为Y的子类型,
List&l……继续阅读 »
今天,我读了一些有关Java中协方差,协方差(和不变性)的文章。我阅读了英文和德文的Wikipedia文章,以及其他来自IBM的博客文章和文章。
但是我仍然对这些到底是什么感到困惑?有人说这与类型和子类型之间的关系有关,有人说与类型转换有关,有人说它用于确定方法是被重写还是被重载。
因此,我正在寻找一个简单的英语解释,它向初学者展示了协方差和协方差(以及不变……继续阅读 »
Closed. This question needs to be more
foc++used。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅关注
editing this post一个问题。
在4个月前关闭。
Improve this question
任何人都可以解释协方差和协方差的概念吗
编程语言理论?
解决方案如下:……继续阅读 »
在Kotlin中,我发现与Java相比,可以使用covariance完成以下操作:
ArrayList<Dog> listOfDogs = listOf(dog1, dog2)
ArrayList<Animal> animalList = listOfDogs // No compiler error
在我的情况下,我有一个接口(i……继续阅读 »
我已经阅读了以下有关逆方差和Lasse V. Karlsen的答案的文章:
Understanding Covariant and Contravariant interfac++es in C#
即使我理解了这个概念,我也不知道为什么它有用。例如,为什么有人会创建一个只读列表(就像帖子中的List<Fish> fishes = GetAcce……继续阅读 »
我有一个需要Class<GenericType<Constraint>>的函数。当我传递该GenericType<Constraint>的子类时,编译器错误并显示以下消息:Type Inference Failed. Expected Type Mismatch但是,如果我将类型转换为它的父类(super class)型,……继续阅读 »
Java中的协变返回类型是什么?在一般的面向对象编程中?
解决方案如下:
协变返回,意味着当一个方法重写一个方法时,允许该重写方法的返回类型为该重写方法的返回类型的子类型。
为了举例说明,通常情况是Object.clone()-声明为返回Object类型。您可以在自己的类中重写此方法,如下所示:
public class MyFoo
{
..……继续阅读 »
免责声明:我不是专业开发人员,也不打算成为一个开发人员。当我想尝试Android编程时,正在阅读有关Java的书,以前没有Java经验。
我正在阅读this book-我更喜欢它。我已经阅读了有关泛型类的本章内容,以至于他们提到通配符,并感到困惑。
如果B延伸到A:
List<B> 不是 List<A>的子类型(据我所知它们是完全相……继续阅读 »