To com esse programinha bobo aqui, ele funciona beleza. Minha dúvida é a seguinte, quando eu chamo alteraString(s); s é o argumento da função, ou seria método? E porque em static String alteraString eu tenho (String ps) como argumento e não (String)? Esse ps é só um label pra mim tratar a entrada s dentro da função?
publicclassAlias{staticStringalteraString(Stringps){return(ps+" e comprido");}publicstaticvoidmain(String[]args){Strings=newString("curto");System.out.println("Antes: "+s);s=alteraString(s);System.out.println("Depois: "+s);}// main}//Alias
em Java, funções são chamadas de métodos. E o “ps” é o nome da variável String (local no método) q vai tratar o parâmtro recebido… :roll:
M
MaragatoPJ
“matheus”:
bem-vindo ao Portal Java…
em Java, funções são chamadas de métodos. E o “ps” é o nome da variável String (local no método) q vai tratar o parâmtro recebido… :roll:
ps sofre um auto-cast no método? Não vejo ela declarada explicitamente. :???:
H
Hal_JordanPJ
s é o parametro do metodo…
vc declarou ps -->static String alteraString (String ps)
M
MaragatoPJ
"Hal_Jordan":
s é o parametro do metodo....
vc declarou ps -->static String alteraString (String ps)
Vou tentar reformular minha pergunta...
Eu tenho:
publicclassAlias{
staticStringalteraString(Stringps){
return(ps+" e comprido");
}
Porque não é:
public class Alias{
static String alteraString (String ps){
String ps; /* o ps é passado, no caso ps = valor de s na chamada da função isso eu entendo mas não sei porque el não é declarado aqui*/
return (ps + " e comprido");
}
M
matheusPJ
ele é declarado na declaração do método… pq ele é um valor q ta vindo como parâmetro… mas assim como a variável dentro do corpo do método, ele tb é local ao método, e tb pode vir como final (por ex, void foo( final int x)), tipo, a declaração dele será na assinatura do método pq é parâmetro q ta sendo passado pro método, se for declarado no corpo, esse valo tu terá q inicializar dentro do método, e não em uma chamada…