Métodos com mesmo nome?

Bem pessoal, sou novo qui no forum, estou iniciando em java e achei o portaljava pra enche o saco de todo mundo :grin:

Tinha feito um Hello World só que não do jeito que vi aqui (o que o TomazLavieri fez) tirou me algumas duvidas e me deixou com duvidas tb

[code]
public class HelloWorld {

private String msg = null;

public String getMessage() {

  if (msg == null)
    setMessage();

  return this.msg;

}

public void setMessage(String msg) {
if (msg == null) {
setMessage();
} else {
this.msg = msg;
}
}

public void setMessage(){
this.msg = “Hello World!”;
}

public HelloWorld() {
setMessage();
}

public HelloWorld(String msg) {
setMessage(msg);
}

}[/code]

Por que eu tenho isso ?

   public HelloWorld() {
      setMessage();
   }

   public HelloWorld(String msg) {
        setMessage(msg);
   }

Por que tenho esses 2(métodos né?) HelloWorld ?(o mesmo para o setMessage)

Por enquanto essa é minha duvida, se puderem me responder agradeço.

Flw.

Bom dia,

Ele apenas criou dos contrutores para a classe (isso é chamado de sobrecarga). agora existem duas formas de instânciar a classe HelloWorld:

HelloWorld h1 = new HelloWorld();

Dessa forma você utiliza o construtor padrão e a mensagem será “Hello World!”. Você pode usar também:

HelloWorld h1 = new HelloWorld("Oi mundo!");

Que a mensagem será a String que você passou.

ele apenas criou duas maneiras de criar um helloworld.

uma sem mensagem (no caso acaba virando helloworld).
e a outra com uma mensagem que voce passa no constructor. =)

hnm…
vlw pessoal, agora clareou um poco aqui…

me surgiu outra duvida…

   public String getMessage() {

      if (msg == null)
        setMessage();

      return this.msg;
   } 

por que tem return this.msg, o this não seria usado quando tivesse uma variavel no metodo ? nesse nao tem nenhuma.

flw abrs[/b]

não, o this é usado para referenciar o proprio objeto.

no caso, this.msg vai retornar a mensagem (string) que estiver na propriedade “msg” do seu objeto.

ex:

HelloWorld hw = new HelloWorld(); hw.setMsg("Mensagem"); String suaMensagem = hw.getMsg();

E dentro de seu metodo getMsg()…

public String getMsg() {
    return this.msg();
}

no caso, o metodo getMsg que foi usado no objeto hw, vai retornar a propriedade msg do proprio objeto, atraves da referencia this.

deu pra sacar?

ahh sim… eu tava trocando as bolas…

tava achando que o this era pro metodo

bem que eu tava achando meio estranho :grin:

vlw cara

tranquilo! =)