Cara foi mal, desculpa! Troquei as bolas esse ai é outro polimorfismo (sobrecarga)
rsrs agora sim…
No wikipedia cita tres tipos de polimorfismo
Existem três tipos de polimorfismo que a linguagem pode ter (atente para o fato de que nem toda linguagem orientada a objeto tem implementado todos os tipos de polimorfismo):
Universal:
Inclusão: um ponteiro para classe mãe pode apontar para uma instância de uma classe filha (exemplo em Java: “List lista = new LinkedList();” (tipo de polimorfismo mais básico que existe).
Paramétrico: se restringe ao uso de templates (C++, por exemplo) e generics (Java).
Ad-Hoc:
Sobrecarga: duas funções/métodos com o mesmo nome mas assinaturas diferentes.
o primeiro é o uso de classe abstrata em java
o segundo pode ser usado o Generics do java
e o terceiro é chamado de sobrecarga de operações(métodos)
o primeiro tb cai no caso de classe mãe/classe filha
o paramétrico é o generics do java
a classe define um parâmetro generico
que pode assumir multilas formas
ja te passo um exemplo
package poli;
public class Par<T>
{
T mPrimeiro;
T mSegundo;
public Par(T pPrim, T pSeg)
{
setPrimeiro(pPrim);
setSegundo(pSeg);
}
public T getPrimeiro()
{
return mPrimeiro;
}
public void setPrimeiro(T pPrimeiro)
{
mPrimeiro = pPrimeiro;
}
public T getSegundo()
{
return mSegundo;
}
public void setSegundo(T pSegundo)
{
mSegundo = pSegundo;
}
}
//exemplo de uso
//package poli;
public class Teste
{
public static void main(String[] args)
{
Par<String> tPar = new Par<String>("Ana", "José");
System.out.println(tPar.getPrimeiro());
System.out.println(tPar.getSegundo());
}
}
ja referente o pq ArrayList é um exemplo é o seguinte:
pq todo o framework de coleções do java, a partir do java 5.0 usa GENERICS
por isso
e nao pq é arraylist
e sim pq usa generics
bom espero ter ajudado!!!