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

1 resposta
LPJava

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!

1 Resposta

davidbuzatto

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:

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();

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.

Criado 26 de outubro de 2006
Ultima resposta 27 de out. de 2006
Respostas 1
Participantes 2