ExamLab: Questão 7  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
Murl
JavaChild

Membro desde: 03/04/2009 10:34:42
Mensagens: 116
Localização: DF
Offline



Eu respondi que o programa não compilaria porque na linha #1 ele ta passando somente 1 parametro pra um método que supostamente recebe 2... Esse programa compila e imprime "Hal".
Como funciona isso?

OMW to SCWCD;

SCJP 6
Naruffy
JavaEvangelist
[Avatar]

Membro desde: 28/03/2008 18:54:49
Mensagens: 324
Offline

Os parâmetro do tipo String ... s, chamados de parâmetros abertos, são transformados em uma array no fim, eles devem sempre ser declarados como o ultimo parâmetro e eles não precisam sempre ser passados.

[]s
Murl
JavaChild

Membro desde: 03/04/2009 10:34:42
Mensagens: 116
Localização: DF
Offline

Os var-args certo?

Isso é so para var-args String ou pra qualquer tipo de var-args?

OMW to SCWCD;

SCJP 6
Naruffy
JavaEvangelist
[Avatar]

Membro desde: 28/03/2008 18:54:49
Mensagens: 324
Offline

Esse var args que você diz é o parâmetro do main? Se for ele não tem nada a ver com parâmetro aberto, o String arg[] faz parte a assinatura do método main, mas os parâmetros abertos podem ser de qualquer tipo, você poderia fazer por exemplo



Att
Murl
JavaChild

Membro desde: 03/04/2009 10:34:42
Mensagens: 116
Localização: DF
Offline

Nao! Mas eu entendi! É porque a primeira vez que eu vi essa sintaxe foi sendo chamada de var-args!
Que voce chama de parametro aberto!

public static void main(String[] args){};
public static void main(String... args) {};

Os dois funcionam!

Vlws!

OMW to SCWCD;

SCJP 6
Naruffy
JavaEvangelist
[Avatar]

Membro desde: 28/03/2008 18:54:49
Mensagens: 324
Offline

Não sabia que podia declarar o main dessa maneira, com parâmetro aberto, interessante, mas faz todo sentido, pois todo parâmetro aberto viram uma array depois, então dá na mesma , vivendo e aprendendo xD

[]s
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team