Tempo de execução e tempo de compilação?

ae galera qual a diferença dos dois ai? pq um metodo sobrecarregado eh tempo de compilação e o subscrito eh tempo de execução… nao entendi a diferença quem puder mim dar um toke hehe!

O primeiro é porque você está criando um novo método, e é checado se este já existe, se não é criado um novo método, de mesmo nome com a lista de parâmetros diferente.

O segundo é tempo de execução pois é resolvido que método chamar apenas na hora de execução.

Suponha que vc tenha:

[code]
public class A {
public void oi() {
System.out.println( “oi A”);
}
}

public class B extends A {
public void oi() {
System.out.println( “oi B”);
}
}

A a1 = new A();
A a2 = new B();

a1.oi();
a2.oi();[/code]

Vai imprimir
oi A
oi B

Pois apesar da referência de a2 ser do tipo A, o objeto real é do tipo B, então o compilador resolve em tempo de execução que o método a ser chamado é do objeto B e não do A.

Se falei alguma besteira me corrijam, mas eu tenho quase certeza que é isso.