//Teste.java
public class Teste
{
public static void main(String[] args)
{
java.util.List<Cliente> cliente = new java.util.ArrayList<Cliente>();
cliente.add(new ClienteNacional());
cliente.add(new ClienteInternacional());
Processamento.processar(cliente);
cliente = null;
}
}
//Processamento.java
public class Processamento
{
public static void processar(java.util.List cliente)
{
int i, j;
for(i = 0, j = cliente.size(); i < j; i++)
{
/*
O erro esta aqui, teoricamente quando chamo 'cliente.get(i)'
ele não retorna um objeto que pode ser ClienteNacional ou ClienteInternacional
que, obrigatóriamente, tem o método implantando definido da interface ICliente.
Só não entendo o porque do erro...
Tá faltando um 'TypeCast' ?
*/
cliente.get(i).mostraTipo();
}
}
}
//Cliente.java
public abstract class Cliente
{
}
//ClienteNacional.java
public class ClienteNacional extends Cliente implements ICliente
{
public ClienteNacional()
{
}
public void mostraTipo()
{
System.out.println("Cliente Nacional");
}
}
//ClienteInternacional.java
public class ClienteInternacional extends Cliente implements ICliente
{
public ClienteInternacional()
{
}
public void mostraTipo()
{
System.out.println("Cliente Internacional");
}
}
//ICliente.java
public interface ICliente
{
public void mostraTipo();
}
Nâo entendo o motivo do erro abaixo:
C:\POO\Java>javac *.java
Processamento.java:18: cannot find symbol
symbol : method mostraTipo()
location: class java.lang.Object
cliente.get(i).mostraTipo();
Pergunta
ursolouco
Salve,
Vou postar o código para começar:
Nâo entendo o motivo do erro abaixo:Alguém pode me explicar ?
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.