Oi gente, meu primeiro tópico, e já pedindo ajuda (espero poder ajudar tbm em breve). Sou bem iniciante mesmo em java e eu to com dúvidas em um trabalho da faculdade, uma das questões é a seguinte:
O código JAVA abaixo apresenta 8 erros. Mostre que erros são esses e explique porque está errado.
public final class TesteA
{
int a = 0;
TesteA (int arg)
{
a = arg;
}
final int obterA ( )
{
return a + a;
}
}
public class TesteB extends TesteA
{
int b = 0;
TesteB (int arg)
{
b = arg;
}
int obterA ( )
{
a = super.obterA( );
return a;
}
static int obterB ( )
{
int c;
c = b++;
return this.b + c;
}
int obterBA ( )
{
a = c++;
return (b – a);
}
}
public class TesteC
{
public static void main (String arguments[])
{
int valor;
TesteA x = new TesteA ( );
TesteB y = TesteB (x.obterA( ) - 1);
z = new TesteB(3);
valor = x.obterA( ) + y.obterA( ) + y.obterB( ) + y.obterBA( ) + TesteB.b;
x = y;
valor = valor + x.obterA( ) + y.obterA( ) + y.obterB( ) + y.obterBA( ) + TesteB.obterB( );
valor = = valor + x.obterA( ) + y.obterA( ) + y.obterB( ) + y.obterBA( );
System.out.println(valor);
}
}
São 8, mas taquei no eclipse e deu mais de 20 rsrsrs… Bom os que eu tirei dai foram os seguintes, pela ordem do código:
1 - não é possível que a classe Teste B faça generalização de TesteA porque ela é “final”
2 - “this” não pode ser usado em se tratando de um contexto estático
3 - Faltou um “new” para criar o objeto y
4 - x não pode receber y já que y não foi iniciado
Só achei 4 assim mais plausiveis, os outros eu tenho muitas incertezas, se eu for olhar pelo eclipse tem um monte, mas o professor disse que só tem 8…
Alguém pode me ajudar a achar os outros e me corrigir se eu estiver errado nesses que eu achei?
Desde já agradeço!!!