Pessoal,
Estou com uma dúvida aqui …
Como eu poderia retornar o valor de mais de uma… qual é o nome… função(pelo menos no PHP é esse o nome…)
Veja:
[quote]class stringA{
public static void main(String[] args){
String s = new String(“abcdefgh”);
System.out.println(s);
}
void salame(String[] args){
String c = new String("Eu sou do tipo char e me chamo
Assim como em C, um programa JAVA inicia sua execução pelo método main, esse método poder receber argumentos da linha de comando e não retorna nenhum tipo de dado, então é por isso que ele é declarado como void(não retorna nada) e recebe como argumentos um array de Strings.
Seu programa só retorna abcdefgh porque somente existe uma chamada a System.out.println() na execução do programa, seu método salame não é invocado em momento algum.
Isso varia de método para método, a lista de argumentos passados quem define é o programador.
Você poderia fazer o seguinte:
class StringA{
public static void main(String[] args){
String s = new String("abcdefgh");
System.out.println(s);
salame("Minha Mensagem");
}
public static void salame(String msg){
System.out.println(msg);
}
}
:arrow: Declarei o método salame como estático, assim posso acessa-lo sem precisar de uma referência. mas isso já são outros 500
Tipo no caso do exemplo que vc passou aí, o salame() foi chamado dentro de main, mas quando ele chegar nessa parte aí, o salame ainda não existirá, não é isso ? mas mesmo assim ele sabe de quem eu to referenciando e executa ?
E tipo todas as funções, ops, metodos que eu criar, tenho que colocar o valor dele dentro de main? Tipo:
[quote] // começo e talz…
public static void main(String[] args){
System.out.println(“Olá”);
}
public static void almondega( msg ){
System.out.println( msg );
}[/quote]
Desse jeito aí ele retorna Olá somente, se eu quizer que retorne o valor de almondega() preciso atribuir uma valor à ela dentro de main ?
[quote]
public static void main(String[] args){
System.out.println(“Olá”);
almondega(“Chamando almondega”);
}
//… daí chama almondega e talz…[/quote]
Sempre que o programa encontrar uma chamada a um método, o fluxo do programa será desviado para esse método, quando o método terminar de seu processamento o fluxo retorna ao chamador.
Não necessariamente, você pode chamar um método de qualquer outro método, desde é claro que esse método seja visível(leia sobre encapsulamento)
Não, na verdade você não atribui um valor, mas sim chama o método e passa um valro a ele.