"rbaum":
opa!
quanto ao abstract e strictfp, é o seguinte:
o sctrictfp diz que as variáveis irão seguir a especificação IEEE 754 (é essa? não lembro direito...)... definir uma classe abstrata com strictfp diz que as variáveis da classe (e dos métodos concretos) irão seguir este padrão, assim como declarar uma interface como strictfp (mas neste caso não existem métodos concretos)...
valeu,
té+
A IEEE é essa sim, mas creio que o strictfp diz respeito aos métodos apenas, uma vez que não é possível usar esse modificador numa variável.
Tudo bem, isso não é tão importante pra prova.
Agora, quanto à outra pergunta, vejam isso:
class A {
static int a() { return 0; }
}
class B extends A {
static int a() { return 1; }
}
class C {
public static void main(String[] args) {
A a = new A();
B b = new B();
A c = new B();
System.out.print(a.a());
System.out.print(b.a());
System.out.print(c.a());
}
}
Imprime 010
Porém, tirando o static:
class A {
int a() { return 0; }
}
class B extends A {
int a() { return 1; }
}
class C {
public static void main(String[] args) {
A a = new A();
B b = new B();
A c = new B();
System.out.print(a.a());
System.out.print(b.a());
System.out.print(c.a());
}
}
Imprime 011 8O
Qual a explicação pra isso?