Java Generics: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 2: Line 2:


* [[Java#Java_5|Java]]
* [[Java#Java_5|Java]]
=Subjects=
* [[Java Generics Concepts|Concepts]]
* [[Java Generics Programming Model|Programming Model]]


=Organizatorium=
=Organizatorium=

Revision as of 23:53, 8 September 2021

Internal

Subjects

Organizatorium

Covariance

https://en.wikipedia.org/wiki/Covariance_and_contravariance_(computer_science)

Let T and S be two types (class or function types), such that S is a subtype of T. If method m of T is overridden in S, then the corresponding types from the m's signature can either preserve the relationship between T and S (the type used in S is a subtype of the corresponding type in T), reverse the relationship (the type used in S is a super type of the type used in T), or neither preserve nor reverse this relationship. If they preserve the relationship to T and S, we say they are covariant, if they reverse the relationship of T and S, we say they are contravariant.