Então teria como postar este trecho utilizando herança de classes?
Aproveitando a oportunidade, qual a diferença entre os dois trecho abaixo? (ambos foram utilizados nos posts acima):
Foo f[] = new Foo[2];
e
Foo[] f = new Foo[2];
Então teria como postar este trecho utilizando herança de classes?
Aproveitando a oportunidade, qual a diferença entre os dois trecho abaixo? (ambos foram utilizados nos posts acima):
Foo f[] = new Foo[2];
e
Foo[] f = new Foo[2];
[quote=“Spider_Man”]Então teria como postar este trecho utilizando herança de classes?
[/quote]
public abstract class Father { // nao é necessario ser abstract
public abstract void f();
}
public class Son1 extends Father {
public void f() { System.out.println( "Son 1" ); }
}
public class Son2 extends Father {
public void f() { System.out.println( "Son 2" ); }
}
class Foo {
Foo () {
Father f[] = new Father[2];
f[0] = new Son1();
f[1] = new Son2();
}
}
nesse caso não tem diferença nenhuma, mas aqui sim:
Foo [] f1, f2, f2; // conchetes antes de tudo, declaração de 3 arrays
Foo f1[], f2, f3[]; // declaração de 2 arrays, f1 e f3
Não tem diferença nenhuma, mas a segunda forma é a padronizada e mais indicada, pela legibilidade.
Ao ler Foo[] você já entende que é um array de Foo. No primeiro caso, você só perceberia isso ao ver o f[], e numa leitura rápida poderia achar que seria um Foo simples (…)
O exemplo:
[code]class Super {
void m1() {
System.out.println(“Super”);
}
}
class Sub1 extends Super {
void m1() {
System.out.println(“Sub1”);
}
}
class Sub2 extends Super {
}
class Teste {
public static void main (String[] args) {
Super s1 = new Super();
Sub1 s2 = new Sub1();
Sub2 s3 = new Sub2();
Super array = new Super[3];
array[0] = s1;
array[1] = s2;
array[2] = s3;
for (int i = 0; i < array.length; i++)
System.out.print(array[i].m1());
}
Deve imprimir “SuperSub1Super”
[/code]
Vixe
[color=“green”]Spider_Man,
As duas expressões querem dizer exatamente a mesma coisa… é só vc escolher a q achou mais bonitinha e usar… :lol:
A mais usada é a segunda: [/color]
Foo[] f = new Foo[2];
[color=“green”]Mas as duas funcionam viu? Espero ter ajudado. [/color]
[color=“green”]Eitaaaa… num tinha visto os posts do Matheus e do Schuenemann não… [/color] :oops: :oops: :oops: :oops: :oops:
heahea Marcela, o pessoal tem fome de posts com dúvidas :twisted: :twisted: :twisted:
e tem diferença sim galera… :joia:
[quote=“matheus”]
nesse caso não tem diferença nenhuma, mas aqui sim:
Foo [] f1, f2, f2; // conchetes antes de tudo, declaração de 3 arrays
Foo f1[], f2, f3[]; // declaração de 2 arrays, f1 e f3
[/quote]
[color=“green”]E ae Matheus,
huehuehuehuehuehue… na próxima vez eu vou prestar mais atenção pra ver se tem alguém olhando o mesmo tópico q eu .
Sobre o array: nesse caso não existe diferença, como vc mesmo disse, só existe diferença se existir mais de uma variável não é isso??? [/color]
[quote=“MarcelaR”]na próxima vez eu vou prestar mais atenção pra ver se tem alguém olhando o mesmo tópico q eu .
[/quote]
nd disso, quero ver todo mundo se brigando pra responder as dúvidas no fórum haehuae
bele… é q li o seu “é só vc escolher a q achou mais bonitinha e usar” e eu quis ressaltar :joia: